home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / lang / SmallEiffel.lha / SmallEiffel / bin_c / compile_to_c50.c < prev    next >
C/C++ Source or Header  |  1998-12-22  |  73KB  |  2,988 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "compile_to_c.h"
  9. T0*oBC44std_fr2=NULL;
  10.  
  11.  
  12. T6 r44same_files(T0* a1,T0* a2){
  13. T6 R=0;
  14. r37connect_to((T37*)(oBC44std_fr1),a1);
  15. /*[IF*/
  16. if(/*(IRF4.7is_connected*/(((T37*)(oBC44std_fr1))->_path/*4*/)!=(NULL)/*)*/){
  17. r37connect_to((T37*)(oBC44std_fr2),a2);
  18. /*[IF*/
  19. if(/*(IRF4.7is_connected*/(((T37*)(oBC44std_fr2))->_path/*4*/)!=(NULL)/*)*/){
  20. R=r37same_as((T37*)(oBC44std_fr1),oBC44std_fr2);
  21. }
  22. /*FI]*/
  23. }
  24. else{
  25. r37disconnect((T37*)(oBC44std_fr1));
  26. }
  27. /*FI]*/
  28. return R;
  29. }
  30. T0*oBC44std_fr1=NULL;
  31.  
  32.  
  33. void r44delete(int C,T0* a1){
  34. T8 _p=0;
  35. _p=r7to_external(((T7*)a1));
  36. remove(((char*)_p));
  37. }
  38.  
  39.  
  40. T6 r44is_readable(T0* a1){
  41. T6 R=0;
  42. r37connect_to((T37*)(oBC44std_fr1),a1);
  43. R=/*(IRF4.7is_connected*/(((T37*)(oBC44std_fr1))->_path/*4*/)!=(NULL)/*)*/;
  44. /*[IF*/
  45. if(R){
  46. r37disconnect((T37*)(oBC44std_fr1));
  47. }
  48. /*FI]*/
  49. return R;
  50. }
  51.  
  52.  
  53. void r44rename_to(T0* a1,T0* a2){
  54. T8 _p2=0;
  55. T8 _p1=0;
  56. _p1=r7to_external(((T7*)a1));
  57. _p2=r7to_external(((T7*)a2));
  58. rename(((char*)_p1),((char*)_p2));
  59. }
  60.  
  61.  
  62. void r372c_assertion_flag(T372* C){
  63. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms51_3077376)))))->_count)=(0);
  64. /*]*/
  65. r372c_frame_descriptor_name_in(C,((T0*)ms51_3077376));
  66. r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms51_30510));
  67. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_3077376));
  68. /*]*/
  69. }
  70.  
  71.  
  72. void r372c_define_opening(T372* C){
  73. T0* _t=NULL;
  74. /*[IF*/
  75. if(((C)->_rescue_compound/*48*/)!=((void*)(NULL))){
  76. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_21736));
  77. /*]*/
  78. }
  79. /*FI]*/
  80. /*[IF*/
  81. /*AF*//*AF*//*AE*/
  82. /*FI]*/
  83. /*[IF*/
  84. if(((C)->_local_vars/*40*/)!=((void*)(NULL))){
  85. r178c_declare((T178*)((C)->_local_vars/*40*/));
  86. }
  87. /*FI]*/
  88. /*[IF*/
  89. if(r43ensure_check((T43*)(oBC12run_control))){
  90. /*[IF*/
  91. if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
  92. r215c_declare_for_old((T215*)((C)->_ensure_assertion/*24*/));
  93. }
  94. /*FI]*/
  95. }
  96. /*FI]*/
  97. /*[IF*/
  98. if(r43no_check((T43*)(oBC12run_control))){
  99. /*[IF*/
  100. if((((T204*)(oBC12c_frame_descriptor_local_count))->_value/*0*/)>(0)){
  101. r7copy((T7*)(((T0*)ms51_3077376)),((T0*)ms51_21762));
  102. /*[IRF3.5append_in*/r2append_in(((T2)(((T204*)(oBC12c_frame_descriptor_local_count))->_value/*0*/)),((T0*)ms51_3077376));
  103. /*]*/
  104. r7extend((T7*)(((T0*)ms51_3077376)),'\135');
  105. r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms13_144));
  106. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_3077376));
  107. /*]*/
  108. }
  109. /*FI]*/
  110. r372c_initialize_ds_one_by_one(C);
  111. /*[IRF3.2c_initialize_locals_one_by_one*/{T3 _c=0;
  112. T2 _j=0;
  113. T2 _i=0;
  114. _j=1;
  115. while (!((((T204*)(oBC12c_frame_descriptor_local_count))->_value/*0*/)==(_i))) {
  116. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_8225));
  117. /*]*/
  118. /*[IRF3.5put_integer*/r45put_integer(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),_i);
  119. /*]*/
  120. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_314));
  121. /*]*/
  122. _c=/*(IRF4.6item*/(((T7*)(oBC12c_frame_descriptor_locals))->_storage/*0*/)[(_j)-(1)]/*)*/;
  123. while (!((_c)==('\54'))) {
  124. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  125. T3 b1=_c;
  126. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  127. }/*]*/
  128. /*]*/
  129. _j=(_j)+(1);
  130. _c=/*(IRF4.6item*/(((T7*)(oBC12c_frame_descriptor_locals))->_storage/*0*/)[(_j)-(1)]/*)*/;
  131. }
  132. _j=(_j)+(1);
  133. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_144));
  134. /*]*/
  135. _i=(_i)+(1);
  136. }
  137. }/*]*/
  138. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_14820a));
  139. /*]*/
  140. }
  141. /*FI]*/
  142. /*[IF*/
  143. if(r43ensure_check((T43*)(oBC12run_control))){
  144. /*[IF*/
  145. if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
  146. r215compile_to_c_old((T215*)((C)->_ensure_assertion/*24*/));
  147. }
  148. /*FI]*/
  149. }
  150. /*FI]*/
  151. /*[IF*/
  152. if(((C)->_rescue_compound/*48*/)!=((void*)(NULL))){
  153. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_23488));
  154. /*]*/
  155. /*[IF*/
  156. if(r43no_check((T43*)(oBC12run_control))){
  157. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_147634));
  158. /*]*/
  159. }
  160. /*FI]*/
  161. r216compile_to_c((T216*)((C)->_rescue_compound/*48*/));
  162. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_48457));
  163. /*]*/
  164. }
  165. /*FI]*/
  166. /*[IF*/
  167. if(((C)->_local_vars/*40*/)!=((void*)(NULL))){
  168. r178initialize_expanded((T178*)((C)->_local_vars/*40*/));
  169. }
  170. /*FI]*/
  171. /*[IF*/
  172. if(((C)->_rescue_compound/*48*/)!=((void*)(NULL))){
  173. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_7601));
  174. /*]*/
  175. }
  176. /*FI]*/
  177. /*[IF*/
  178. if(((C)->_require_assertion/*20*/)!=((void*)(NULL))){
  179. r357compile_to_c((T357*)((C)->_require_assertion/*20*/));
  180. }
  181. /*FI]*/
  182. /*[IF*/
  183. if(((C)->_rescue_compound/*48*/)!=((void*)(NULL))){
  184. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_58520));
  185. /*]*/
  186. /*[IF*/
  187. if(r43no_check((T43*)(oBC12run_control))){
  188. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_14820));
  189. /*]*/
  190. }
  191. /*FI]*/
  192. }
  193. /*FI]*/
  194. }
  195.  
  196.  
  197. void r372c_define_closing(T372* C){
  198. /*[IF*/
  199. if(r43ensure_check((T43*)(oBC12run_control))){
  200. /*[IF*/
  201. if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
  202. r215compile_to_c((T215*)((C)->_ensure_assertion/*24*/));
  203. }
  204. /*FI]*/
  205. }
  206. /*FI]*/
  207. /*[IF*/
  208. if(r372use_current(C)){
  209. r25current_class_invariant((C)->_current_type/*4*/);
  210. }
  211. /*FI]*/
  212. /*[IF*/
  213. if(((C)->_rescue_compound/*48*/)!=((void*)(NULL))){
  214. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_25830));
  215. /*]*/
  216. }
  217. /*FI]*/
  218. /*[IF*/
  219. if(r43no_check((T43*)(oBC12run_control))){
  220. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_19775));
  221. /*]*/
  222. }
  223. /*FI]*/
  224. }
  225. /*No:RUN_FEATURE_10.use_current_state*/
  226.  
  227.  
  228. void r372default_mapping_procedure(T372* C){
  229. r372default_mapping_function(C);
  230. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_144));
  231. /*]*/
  232. }
  233. /*No:RUN_FEATURE_10.fz_void*/
  234. /*No:RUN_FEATURE_10.address_of_c_define*/
  235. /*No:RUN_FEATURE_10.ucs_false*/
  236. /*No:RUN_FEATURE_10.is_static*/
  237.  
  238.  
  239. T0* r372start_position(T372* C){
  240. T0* R=NULL;
  241. R=r302start_position((T302*)((C)->_base_feature/*32*/));
  242. return R;
  243. }
  244. /*No:RUN_FEATURE_10.c_initialize_locals_one_by_one*/
  245.  
  246.  
  247. void r372mapping_name(T372* C){
  248. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  249. T3 b1='r';
  250. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  251. }/*]*/
  252. /*]*/
  253. /*[IRF3.5put_integer*/r45put_integer(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),r372id(C));
  254. /*]*/
  255. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),X83to_key((C)->_name/*16*/));
  256. /*]*/
  257. }
  258.  
  259.  
  260. T6 r372use_current(T372* C){
  261. T6 R=0;
  262. {int z1=(C)->_use_current_state/*28*/;
  263.  
  264. if((14==z1)){
  265. R=1;
  266. }
  267.  else 
  268. if((13==z1)){
  269. }
  270.  else 
  271. if((15==z1)){
  272. C->_use_current_state=16;
  273. /*[IRF3.4compute_use_current*/r372std_compute_use_current(C);
  274. /*]*/
  275. R=r372use_current(C);
  276. }
  277.  else {R=1;
  278. }}
  279. return R;
  280. }
  281.  
  282.  
  283. T2 r372id(T372* C){
  284. T2 R=0;
  285. R=X54id((C)->_current_type/*4*/);
  286. return R;
  287. }
  288.  
  289.  
  290. void r372routine_afd_check(T372* C){
  291. /*[IF*/
  292. if(((C)->_require_assertion/*20*/)!=((void*)(NULL))){
  293. r357afd_check((T357*)((C)->_require_assertion/*20*/));
  294. }
  295. /*FI]*/
  296. /*[IF*/
  297. if(((C)->_routine_body/*44*/)!=((void*)(NULL))){
  298. r216afd_check((T216*)((C)->_routine_body/*44*/));
  299. }
  300. /*FI]*/
  301. /*[IF*/
  302. if(((C)->_rescue_compound/*48*/)!=((void*)(NULL))){
  303. r216afd_check((T216*)((C)->_rescue_compound/*48*/));
  304. }
  305. /*FI]*/
  306. /*[IF*/
  307. if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
  308. r215afd_check((T215*)((C)->_ensure_assertion/*24*/));
  309. }
  310. /*FI]*/
  311. }
  312.  
  313.  
  314. void r372std_compute_use_current(T372* C){
  315. /*[IF*/
  316. if(((C)->_use_current_state/*28*/)==(16)){
  317. /*[IF*/
  318. if(((C)->_require_assertion/*20*/)!=((void*)(NULL))){
  319. /*[IF*/
  320. if(r357use_current((T357*)((C)->_require_assertion/*20*/))){
  321. C->_use_current_state=14;
  322. }
  323. /*FI]*/
  324. }
  325. /*FI]*/
  326. }
  327. /*FI]*/
  328. /*[IF*/
  329. if(((C)->_use_current_state/*28*/)==(16)){
  330. /*[IF*/
  331. if(((C)->_routine_body/*44*/)!=((void*)(NULL))){
  332. /*[IF*/
  333. if(r216use_current((T216*)((C)->_routine_body/*44*/))){
  334. C->_use_current_state=14;
  335. }
  336. /*FI]*/
  337. }
  338. /*FI]*/
  339. }
  340. /*FI]*/
  341. /*[IF*/
  342. if(((C)->_use_current_state/*28*/)==(16)){
  343. /*[IF*/
  344. if(((C)->_rescue_compound/*48*/)!=((void*)(NULL))){
  345. /*[IF*/
  346. if(r216use_current((T216*)((C)->_rescue_compound/*48*/))){
  347. C->_use_current_state=14;
  348. }
  349. /*FI]*/
  350. }
  351. /*FI]*/
  352. }
  353. /*FI]*/
  354. /*[IF*/
  355. if(((C)->_use_current_state/*28*/)==(16)){
  356. /*[IF*/
  357. if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
  358. /*[IF*/
  359. if(r215use_current((T215*)((C)->_ensure_assertion/*24*/))){
  360. C->_use_current_state=14;
  361. }
  362. /*FI]*/
  363. }
  364. /*FI]*/
  365. }
  366. /*FI]*/
  367. /*[IF*/
  368. if(((C)->_use_current_state/*28*/)==(16)){
  369. C->_use_current_state=13;
  370. }
  371. /*FI]*/
  372. }
  373.  
  374.  
  375. T0* r372run_class(T372* C){
  376. T0* R=NULL;
  377. R=X54run_class((C)->_current_type/*4*/);
  378. return R;
  379. }
  380. /*No:RUN_FEATURE_10.result_type*/
  381. /*No:RUN_FEATURE_10.base_feature*/
  382. /*No:RUN_FEATURE_10.ensure_assertion*/
  383. /*No:RUN_FEATURE_10.static_value_mem*/
  384.  
  385.  
  386. T6 r372is_exported_in(T372* C,T0* a1){
  387. T6 R=0;
  388. R=r101gives_permission_to((T101*)(r372clients(C)),a1);
  389. return R;
  390. }
  391.  
  392.  
  393. void r372default_mapping_function(T372* C){
  394. T6 _tcbd=0;
  395. T6 _uc=0;
  396. T6 _no_check=0;
  397. _no_check=r43no_check((T43*)(oBC12run_control));
  398. _uc=r372use_current(C);
  399. /*[IF*/
  400. if(!(_uc)){
  401. _tcbd=r25target_cannot_be_dropped((T25*)(oBC12cpp));
  402. /*[IF*/
  403. if(_tcbd){
  404. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  405. T3 b1='\54';
  406. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  407. }/*]*/
  408. /*]*/
  409. }
  410. /*FI]*/
  411. }
  412. /*FI]*/
  413. r372mapping_name(C);
  414. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  415. T3 b1='\50';
  416. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  417. }/*]*/
  418. /*]*/
  419. /*[IF*/
  420. if(_no_check){
  421. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_777));
  422. /*]*/
  423. }
  424. /*FI]*/
  425. /*[IF*/
  426. if(_uc){
  427. /*[IF*/
  428. if(_no_check){
  429. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  430. T3 b1='\54';
  431. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  432. }/*]*/
  433. /*]*/
  434. }
  435. /*FI]*/
  436. r25put_target_as_target((T25*)(oBC12cpp));
  437. }
  438. /*FI]*/
  439. /*[IF*/
  440. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  441. /*[IF*/
  442. if((_uc)||(_no_check)){
  443. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  444. T3 b1='\54';
  445. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  446. }/*]*/
  447. /*]*/
  448. }
  449. /*FI]*/
  450. r25put_arguments((T25*)(oBC12cpp));
  451. }
  452. /*FI]*/
  453. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  454. T3 b1='\51';
  455. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  456. }/*]*/
  457. /*]*/
  458. /*[IF*/
  459. if((!(_uc))&&(_tcbd)){
  460. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  461. T3 b1='\51';
  462. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  463. }/*]*/
  464. /*]*/
  465. }
  466. /*FI]*/
  467. }
  468. /*No:RUN_FEATURE_10.arguments*/
  469. /*No:RUN_FEATURE_10.is_once_function*/
  470. /*No:RUN_FEATURE_10.current_type*/
  471. /*No:RUN_FEATURE_10.clients_memory*/
  472.  
  473.  
  474. void r372add_client(T372* C,T0* a1){
  475. T2 _i=0;
  476. /*[IF*/
  477. if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
  478. {T60*n=malloc(sizeof(*n));
  479. *n=M60;
  480. r60with_capacity(n,4);
  481. C->_actuals_clients=(T0*)n;
  482. }
  483. r60add_last((T60*)((C)->_actuals_clients/*12*/),a1);
  484. }
  485. else{
  486. _i=r60fast_index_of((T60*)((C)->_actuals_clients/*12*/),a1);
  487. /*[IF*/
  488. if((_i)>(((T60*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
  489. r60add_last((T60*)((C)->_actuals_clients/*12*/),a1);
  490. }
  491. /*FI]*/
  492. }
  493. /*FI]*/
  494. r24add_client((T24*)(r372run_class(C)),a1);
  495. }
  496. /*No:RUN_FEATURE_10.ucs_in_computation*/
  497.  
  498.  
  499. void r372make(T372* C,T0* a1,T0* a2,T0* a3){
  500. C->_current_type=a1;
  501. C->_name=a2;
  502. C->_base_feature=a3;
  503. /*[IRF3.5add_rf*/r325put(((T325*)(((T24*)(r372run_class(C)))->_feature_dictionary/*24*/)),(T0*)C,X83to_key(a2));
  504. /*]*/
  505. r22incr_magic_count((T22*)(oBC12small_eiffel));
  506. C->_use_current_state=15;
  507. r22push((T22*)(oBC12small_eiffel),(T0*)C);
  508. r372initialize(C);
  509. r22pop((T22*)(oBC12small_eiffel));
  510. }
  511. /*No:RUN_FEATURE_10.routine_body*/
  512. /*No:RUN_FEATURE_10.ucs_true*/
  513. /*No:RUN_FEATURE_10.name*/
  514. /*No:RUN_FEATURE_10.afd_check*/
  515.  
  516.  
  517. T0* r372clients(T372* C){
  518. T0* R=NULL;
  519. T0* _bfbc=NULL;
  520. T0* _bc=NULL;
  521. /*[IF*/
  522. if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
  523. _bc=X54base_class((C)->_current_type/*4*/);
  524. _bfbc=((T302*)((C)->_base_feature/*32*/))->_base_class/*4*/;
  525. /*[IF*/
  526. if((_bc)==((void*)(_bfbc))){
  527. R=((T302*)((C)->_base_feature/*32*/))->_clients/*20*/;
  528. }
  529. else{
  530. R=r63clients_for(((T63*)_bc),(C)->_name/*16*/);
  531. }
  532. /*FI]*/
  533. C->_clients_memory=R;
  534. }
  535. else{
  536. R=(C)->_clients_memory/*8*/;
  537. }
  538. /*FI]*/
  539. return R;
  540. }
  541.  
  542.  
  543. void r372c_define(T372* C){
  544. /*[IF*/
  545. if(r372use_current(C)){
  546. r25incr_procedure_count((T25*)(oBC12cpp));
  547. }
  548. else{
  549. r25incr_real_procedure_count((T25*)(oBC12cpp));
  550. }
  551. /*FI]*/
  552. r372define_prototype(C);
  553. r372c_define_opening(C);
  554. /*[IF*/
  555. if(((C)->_routine_body/*44*/)!=((void*)(NULL))){
  556. r216compile_to_c((T216*)((C)->_routine_body/*44*/));
  557. }
  558. /*FI]*/
  559. r372c_define_closing(C);
  560. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_276));
  561. /*]*/
  562. r372c_frame_descriptor(C);
  563. }
  564.  
  565.  
  566. void r372once_result_in(T372* C,T0* a1){
  567. r7extend(((T7*)a1),'o');
  568. r302mapping_c_name_in((T302*)((C)->_base_feature/*32*/),a1);
  569. }
  570. /*No:RUN_FEATURE_10.rescue_compound*/
  571.  
  572.  
  573. void r372fall_down(T372* C){
  574. T0* _rf=NULL;
  575. T0* _sub_name=NULL;
  576. T0* _sub_bc=NULL;
  577. T0* _current_bc=NULL;
  578. T0* _sub_rc=NULL;
  579. T0* _current_rc=NULL;
  580. T2 _i=0;
  581. T0* _running=NULL;
  582. _current_rc=X54run_class((C)->_current_type/*4*/);
  583. _running=(((T24*)_current_rc))->_running/*12*/;
  584. /*[IF*/
  585. if((_running)!=((void*)(NULL))){
  586. _current_bc=X54base_class((C)->_current_type/*4*/);
  587. _i=(((T328*)_running))->_lower/*12*/;
  588. while (!((_i)>((((T328*)_running))->_upper/*8*/))) {
  589. _sub_rc=r328item(((T328*)_running),_i);
  590. /*[IF*/
  591. if((_sub_rc)!=((void*)(_current_rc))){
  592. _sub_bc=X54base_class((((T24*)_sub_rc))->_current_type/*0*/);
  593. _sub_name=r63new_name_of(((T63*)_sub_bc),_current_bc,(C)->_name/*16*/);
  594. _rf=r24get_feature(((T24*)_sub_rc),_sub_name);
  595. }
  596. /*FI]*/
  597. _i=(_i)+(1);
  598. }
  599. }
  600. /*FI]*/
  601. }
  602. /*No:RUN_FEATURE_10.actuals_clients*/
  603. /*No:RUN_FEATURE_10.us_result*/
  604.  
  605.  
  606. void r372define_prototype(T372* C){
  607. T6 _no_check=0;
  608. T2 _mem_id=0;
  609. _no_check=r43no_check((T43*)(oBC12run_control));
  610. /*[IF*/
  611. if(r43no_check((T43*)(oBC12run_control))){
  612. /*[IRF3.3reset*/((((T204*)((T204*)(oBC12c_frame_descriptor_local_count))))->_value)=(0);
  613. /*]*/
  614. /*[IRF3.3clear*/((((T7*)((T7*)(oBC12c_frame_descriptor_format))))->_count)=(0);
  615. /*]*/
  616. r7extend((T7*)(oBC12c_frame_descriptor_format),'\42');
  617. /*[IRF3.3clear*/((((T7*)((T7*)(oBC12c_frame_descriptor_locals))))->_count)=(0);
  618. /*]*/
  619. }
  620. /*FI]*/
  621. _mem_id=r372id(C);
  622. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms51_3077376)))))->_count)=(0);
  623. /*]*/
  624. /*[IF*/
  625. {/*AT*/r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms13_1776a));
  626. }
  627. /*FI]*/
  628. r7extend((T7*)(((T0*)ms51_3077376)),'\40');
  629. r7extend((T7*)(((T0*)ms51_3077376)),'r');
  630. r2append_in(_mem_id,((T0*)ms51_3077376));
  631. X83mapping_c_in((C)->_name/*16*/,((T0*)ms51_3077376));
  632. r7extend((T7*)(((T0*)ms51_3077376)),'\50');
  633. /*[IF*/
  634. if(_no_check){
  635. r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms51_56460));
  636. /*[IF*/
  637. if((r372use_current(C))||(((C)->_arguments/*36*/)!=((void*)(NULL)))){
  638. r7extend((T7*)(((T0*)ms51_3077376)),'\54');
  639. }
  640. /*FI]*/
  641. }
  642. /*FI]*/
  643. /*[IF*/
  644. if(r372use_current(C)){
  645. X54c_type_for_target_in((C)->_current_type/*4*/,((T0*)ms51_3077376));
  646. r7extend((T7*)(((T0*)ms51_3077376)),'\40');
  647. r7extend((T7*)(((T0*)ms51_3077376)),'C');
  648. X54c_frame_descriptor((C)->_current_type/*4*/);
  649. /*[IF*/
  650. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  651. r7extend((T7*)(((T0*)ms51_3077376)),'\54');
  652. }
  653. /*FI]*/
  654. }
  655. /*FI]*/
  656. /*[IF*/
  657. if(((C)->_arguments/*36*/)==((void*)(NULL))){
  658. /*[IF*/
  659. if(_no_check){
  660. }
  661.  else if(!(r372use_current(C))){
  662. r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms13_1776a));
  663. }
  664. /*FI]*/
  665. }
  666. else{
  667. r187compile_to_c_in((T187*)((C)->_arguments/*36*/),((T0*)ms51_3077376));
  668. }
  669. /*FI]*/
  670. r7extend((T7*)(((T0*)ms51_3077376)),'\51');
  671. r25put_c_heading((T25*)(oBC12cpp),((T0*)ms51_3077376));
  672. /*[IRF3.3swap_on_c*/((((T25*)((T25*)(oBC12cpp))))->_current_out)=(oBC25out_c);
  673. /*]*/
  674. }
  675.  
  676.  
  677. void r372put_tag(T372* C){
  678. T0* _fn=NULL;
  679. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  680. T3 b1='\42';
  681. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  682. }/*]*/
  683. /*]*/
  684. _fn=/*(IRF4.6first_name*/r85item(((T85*)(((T302*)((C)->_base_feature/*32*/))->_names/*8*/)),1)/*)*/;
  685. X83put_cpp_tag(_fn);
  686. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),X83to_string(_fn));
  687. /*]*/
  688. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_1148));
  689. /*]*/
  690. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T64*)(/*(IRF4.6base_class_name*/(((T63*)(((T302*)((C)->_base_feature/*32*/))->_base_class/*4*/)))->_name/*24*//*)*/))->_to_string/*0*/);
  691. /*]*/
  692. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  693. T3 b1='\42';
  694. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  695. }/*]*/
  696. /*]*/
  697. }
  698. /*No:RUN_FEATURE_10.c_code*/
  699. /*No:RUN_FEATURE_10.fz_00*/
  700.  
  701.  
  702. void r372c_initialize_ds_one_by_one(T372* C){
  703. r7copy((T7*)(((T0*)ms51_3077376)),((T0*)ms51_37325));
  704. r372c_frame_descriptor_name_in(C,((T0*)ms51_3077376));
  705. r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms13_144));
  706. /*[IF*/
  707. if(r372use_current(C)){
  708. r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms51_18550));
  709. }
  710. else{
  711. r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms51_11254));
  712. }
  713. /*FI]*/
  714. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_3077376));
  715. /*]*/
  716. r25put_position_in_ds(r372start_position(C));
  717. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_11736));
  718. /*]*/
  719. /*[IF*/
  720. if((((T204*)(oBC12c_frame_descriptor_local_count))->_value/*0*/)>(0)){
  721. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_12150));
  722. /*]*/
  723. }
  724. /*FI]*/
  725. }
  726. /*No:RUN_FEATURE_10.ucs_not_computed*/
  727. /*No:RUN_FEATURE_10.is_pre_computable*/
  728. /*No:RUN_FEATURE_10.fz_12*/
  729. /*No:RUN_FEATURE_10.collect_c_tmp*/
  730.  
  731.  
  732. void r372c_frame_descriptor(T372* C){
  733. /*[IF*/
  734. if(r43no_check((T43*)(oBC12run_control))){
  735. r7copy((T7*)(((T0*)ms51_3077376)),((T0*)ms51_23640));
  736. r372c_frame_descriptor_name_in(C,((T0*)ms51_3077376));
  737. r25put_extern7((T25*)(oBC12cpp),((T0*)ms51_3077376));
  738. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  739. T3 b1='\173';
  740. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  741. }/*]*/
  742. /*]*/
  743. r372put_tag(C);
  744. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms51_3077376)))))->_count)=(0);
  745. /*]*/
  746. r7extend((T7*)(((T0*)ms51_3077376)),'\54');
  747. /*[IF*/
  748. if(r372use_current(C)){
  749. r7extend((T7*)(((T0*)ms51_3077376)),'1');
  750. }
  751. else{
  752. r7extend((T7*)(((T0*)ms51_3077376)),'0');
  753. }
  754. /*FI]*/
  755. r7extend((T7*)(((T0*)ms51_3077376)),'\54');
  756. /*[IRF3.5append_in*/r2append_in(((T2)(((T204*)(oBC12c_frame_descriptor_local_count))->_value/*0*/)),((T0*)ms51_3077376));
  757. /*]*/
  758. r7extend((T7*)(((T0*)ms51_3077376)),'\54');
  759. r7append((T7*)(((T0*)ms51_3077376)),oBC12c_frame_descriptor_format);
  760. r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms51_2316));
  761. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_3077376));
  762. /*]*/
  763. }
  764. /*FI]*/
  765. }
  766.  
  767.  
  768. T2 r372arg_count(T372* C){
  769. T2 R=0;
  770. /*[IF*/
  771. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  772. R=/*(IRF4.6count*/(((T191*)(((T187*)((C)->_arguments/*36*/))->_flat_list/*8*/)))->_upper/*12*//*)*/;
  773. }
  774. /*FI]*/
  775. return R;
  776. }
  777. /*No:RUN_FEATURE_10.address_of_c_mapping*/
  778. /*No:RUN_FEATURE_10.mapping_c*/
  779. /*No:RUN_FEATURE_10.can_be_dropped*/
  780.  
  781.  
  782. void r372initialize(T372* C){
  783. C->_arguments=((T302*)((C)->_base_feature/*32*/))->_arguments/*24*/;
  784. /*[IF*/
  785. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  786. /*[IF*/
  787. if(!(r187is_runnable((T187*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
  788. {T187*n=malloc(sizeof(*n));
  789. *n=M187;
  790. r187with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
  791. C->_arguments=(T0*)n;
  792. }
  793. }
  794. /*FI]*/
  795. }
  796. /*FI]*/
  797. C->_local_vars=((T302*)((C)->_base_feature/*32*/))->_local_vars/*16*/;
  798. /*[IF*/
  799. if(((C)->_local_vars/*40*/)!=((void*)(NULL))){
  800. C->_local_vars=r178to_runnable((T178*)((C)->_local_vars/*40*/),(C)->_current_type/*4*/);
  801. }
  802. /*FI]*/
  803. C->_routine_body=((T302*)((C)->_base_feature/*32*/))->_routine_body/*44*/;
  804. /*[IF*/
  805. if(((C)->_routine_body/*44*/)!=((void*)(NULL))){
  806. C->_routine_body=r216to_runnable((T216*)((C)->_routine_body/*44*/),(C)->_current_type/*4*/);
  807. }
  808. /*FI]*/
  809. /*[IF*/
  810. if(r43require_check((T43*)(oBC12run_control))){
  811. C->_require_assertion=r302run_require((T0*)C);
  812. }
  813. /*FI]*/
  814. /*[IF*/
  815. if(r43ensure_check((T43*)(oBC12run_control))){
  816. C->_ensure_assertion=r302run_ensure((T0*)C);
  817. }
  818. /*FI]*/
  819. C->_rescue_compound=((T302*)((C)->_base_feature/*32*/))->_rescue_compound/*48*/;
  820. /*[IF*/
  821. if(((C)->_rescue_compound/*48*/)!=((void*)(NULL))){
  822. /*[IRF3.3set_used*/((((T363*)((T363*)(oBC12exceptions_handler))))->_used)=(1);
  823. /*]*/
  824. C->_rescue_compound=r216to_runnable((T216*)((C)->_rescue_compound/*48*/),(C)->_current_type/*4*/);
  825. }
  826. /*FI]*/
  827. }
  828. /*No:RUN_FEATURE_10.require_assertion*/
  829. /*No:RUN_FEATURE_10.compute_use_current*/
  830. /*No:RUN_FEATURE_10.local_vars*/
  831.  
  832.  
  833. void r372c_frame_descriptor_name_in(T372* C,T0* a1){
  834. r7extend(((T7*)a1),'f');
  835. r2append_in(r372id(C),a1);
  836. X83mapping_c_in((C)->_name/*16*/,a1);
  837. }
  838. /*No:BIT_CONSTANT.static_value*/
  839. /*No:BIT_CONSTANT.hexa*/
  840.  
  841.  
  842. void r55c_define(T55* C){
  843. T2 _digit_nb=0;
  844. T2 _k=0;
  845. T2 _i=0;
  846. _digit_nb=(sizeof(T2))*(2);
  847. _k=(((T7*)((C)->_hexa/*16*/))->_count/*4*/)%(_digit_nb);
  848. _i=1;
  849. /*[IF*/
  850. if((_k)>(0)){
  851. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_342));
  852. /*]*/
  853. while (!((_k)==(0))) {
  854. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  855. T3 b1=/*(IRF4.6item*/(((T7*)((C)->_hexa/*16*/))->_storage/*0*/)[(_i)-(1)]/*)*/;
  856. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  857. }/*]*/
  858. /*]*/
  859. _i=(_i)+(1);
  860. _k=(_k)-(1);
  861. }
  862. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  863. T3 b1='\54';
  864. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  865. }/*]*/
  866. /*]*/
  867. }
  868. /*FI]*/
  869. while (!((_i)>(((T7*)((C)->_hexa/*16*/))->_count/*4*/))) {
  870. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_342));
  871. /*]*/
  872. _k=_digit_nb;
  873. while (!((_k)==(0))) {
  874. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  875. T3 b1=/*(IRF4.6item*/(((T7*)((C)->_hexa/*16*/))->_storage/*0*/)[(_i)-(1)]/*)*/;
  876. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  877. }/*]*/
  878. /*]*/
  879. _i=(_i)+(1);
  880. _k=(_k)-(1);
  881. }
  882. /*[IF*/
  883. if((_i)<=(((T7*)((C)->_hexa/*16*/))->_count/*4*/)){
  884. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  885. T3 b1='\54';
  886. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  887. }/*]*/
  888. /*]*/
  889. }
  890. /*FI]*/
  891. }
  892. }
  893. /*No:BIT_CONSTANT.is_static*/
  894. /*No:BIT_CONSTANT.is_manifest_string*/
  895. /*No:BIT_CONSTANT.start_position*/
  896. /*No:BIT_CONSTANT.fz_0x*/
  897. /*No:BIT_CONSTANT.c_simple*/
  898.  
  899.  
  900. T0* r55add_comment(T55* C,T0* a1){
  901. T0* R=NULL;
  902. /*[IF*/
  903. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
  904. R=(T0*)C;
  905. }
  906. else{
  907. {T230*n=malloc(sizeof(*n));
  908. *n=M230;
  909. r230make(n,(T0*)C,a1);
  910. R=(T0*)n;
  911. }
  912. }
  913. /*FI]*/
  914. return R;
  915. }
  916.  
  917.  
  918. T2 r55to_integer(T55* C){
  919. T2 R=0;
  920. r55error((C)->_start_position/*4*/,((T0*)ms13_45846));
  921. return R;
  922. }
  923. /*No:BIT_CONSTANT.use_current*/
  924.  
  925.  
  926. T0* r55to_runnable(T55* C,T0* a1){
  927. T0* R=NULL;
  928. T0* _ic=NULL;
  929. /*[IF*/
  930. if(((C)->_result_type/*12*/)==((void*)(NULL))){
  931. {T174*n=malloc(sizeof(*n));
  932. *n=M174;
  933. r174make(n,((T7*)((C)->_value/*8*/))->_count/*4*/,(C)->_start_position/*4*/);
  934. _ic=(T0*)n;
  935. }
  936. {T276*n=malloc(sizeof(*n));
  937. *n=M276;
  938. r276make(n,(C)->_start_position/*4*/,_ic);
  939. C->_result_type=(T0*)n;
  940. }
  941. r24set_at_run_time((T24*)(r276run_class((T276*)((C)->_result_type/*12*/))));
  942. C->_hexa=r7twin((T7*)((C)->_value/*8*/));
  943. r7to_hexadecimal((T7*)((C)->_hexa/*16*/));
  944. }
  945. /*FI]*/
  946. R=(T0*)C;
  947. return R;
  948. }
  949. /*No:BIT_CONSTANT.compile_to_c_old*/
  950. /*No:BIT_CONSTANT.is_pre_computable*/
  951. /*No:BIT_CONSTANT.collect_c_tmp*/
  952. /*No:BIT_CONSTANT.fz_iinaiv*/
  953. /*No:BIT_CONSTANT.result_type*/
  954. /*No:BIT_CONSTANT.value*/
  955. /*No:BIT_CONSTANT.is_result*/
  956. /*No:BIT_CONSTANT.mapping_c_target*/
  957. /*No:BIT_CONSTANT.can_be_dropped*/
  958. /*No:BIT_CONSTANT.c_declare_for_old*/
  959. /*No:BIT_CONSTANT.dca_inline_argument*/
  960.  
  961.  
  962. void r55compile_to_c(T55* C){
  963. /*[IF*/
  964. if(r276is_c_unsigned_ptr((T276*)((C)->_result_type/*12*/))){
  965. r25register_bit_constant((T25*)(oBC12cpp),(T0*)C);
  966. }
  967. else{
  968. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_342));
  969. /*]*/
  970. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),(C)->_hexa/*16*/);
  971. /*]*/
  972. }
  973. /*FI]*/
  974. }
  975. /*No:BIT_CONSTANT.isa_dca_inline_argument*/
  976.  
  977.  
  978. void r55error(T0* a1,T0* a2){
  979. r21add_position(a1);
  980. r21error((T21*)(oBC12eh),a2);
  981. }
  982.  
  983.  
  984. void r55make(T55* C,T0* a1,T0* a2){
  985. C->_start_position=a1;
  986. C->_value=a2;
  987. }
  988. /*No:BIT_CONSTANT.is_current*/
  989. /*No:BIT_CONSTANT.is_void*/
  990. /*No:BIT_CONSTANT.mapping_c_arg*/
  991. /*No:BIT_CONSTANT.afd_check*/
  992. /*No:TYPE_BIT_1.fz_void*/
  993. /*No:TYPE_BIT_1.fz_to_t*/
  994. /*No:TYPE_BIT_1.start_position*/
  995.  
  996.  
  997. void r276standard_c_print_function(T276* C){
  998. /*[IF*/
  999. if(r43no_check((T43*)(oBC12run_control))){
  1000. r24c_print_function((T24*)(r276run_class(C)));
  1001. }
  1002. /*FI]*/
  1003. }
  1004. /*No:TYPE_BIT_1.Cuptr*/
  1005.  
  1006.  
  1007. void r276used_as_reference(T276* C){
  1008. T0* _rf=NULL;
  1009. T0* _rc=NULL;
  1010. T0* _type_bit_ref=NULL;
  1011. /*[IF*/
  1012. if(r47fast_has((T47*)(oBC53mem_ref_nb),/*(IRF4.6nb*/(((T174*)((C)->_n/*16*/)))->_value/*8*//*)*/)){
  1013. }
  1014. else{
  1015. r47add_last((T47*)(oBC53mem_ref_nb),/*(IRF4.6nb*/(((T174*)((C)->_n/*16*/)))->_value/*8*//*)*/);
  1016. {T373*n=malloc(sizeof(*n));
  1017. *n=M373;
  1018. r373make(n,(T0*)C);
  1019. _type_bit_ref=(T0*)n;
  1020. }
  1021. r382add_last((T382*)(oBC53mem_type_bit_ref),_type_bit_ref);
  1022. _rc=r373run_class(((T373*)_type_bit_ref));
  1023. r24set_at_run_time(((T24*)_rc));
  1024. _rf=r24get_feature_with(((T24*)_rc),((T0*)ms14_2695));
  1025. }
  1026. /*FI]*/
  1027. }
  1028.  
  1029.  
  1030. T2 r276mapping_code(T276* C){
  1031. T2 R=0;
  1032. /*[IF*/
  1033. if((/*(IRF4.6nb*/(((T174*)((C)->_n/*16*/)))->_value/*8*//*)*/)<=( T3BITS )){
  1034. R=17;
  1035. }
  1036.  else if((/*(IRF4.6nb*/(((T174*)((C)->_n/*16*/)))->_value/*8*//*)*/)<=( T2BITS )){
  1037. R=18;
  1038. }
  1039. else{
  1040. R=19;
  1041. }
  1042. /*FI]*/
  1043. return R;
  1044. }
  1045. /*No:TYPE_BIT_1.us_put_1*/
  1046.  
  1047.  
  1048. T2 r276id(T276* C){
  1049. T2 R=0;
  1050. R=((T24*)(r276run_class(C)))->_id/*4*/;
  1051. return R;
  1052. }
  1053. /*No:TYPE_BIT_1.is_user_expanded*/
  1054. /*No:TYPE_BIT_1.is_pointer*/
  1055.  
  1056.  
  1057. T0* r276to_runnable(T276* C,T0* a1){
  1058. T0* R=NULL;
  1059. R=(T0*)C;
  1060. r276to_runnable_1_2(C);
  1061. return R;
  1062. }
  1063. /*No:TYPE_BIT_1.nb*/
  1064.  
  1065.  
  1066. void r276c_initialize_in(T276* C,T0* a1){
  1067. T2 _i=0;
  1068. /*[IF*/
  1069. if((r276mapping_code(C))==(19)){
  1070. r7extend(((T7*)a1),'\173');
  1071. _i=r276nb_unsigned(C);
  1072. while (!((_i)==(0))) {
  1073. r7extend(((T7*)a1),'0');
  1074. _i=(_i)-(1);
  1075. /*[IF*/
  1076. if((_i)>(0)){
  1077. r7extend(((T7*)a1),'\54');
  1078. }
  1079. /*FI]*/
  1080. }
  1081. r7extend(((T7*)a1),'\175');
  1082. }
  1083. else{
  1084. r7extend(((T7*)a1),'0');
  1085. }
  1086. /*FI]*/
  1087. }
  1088. /*No:TYPE_BIT_1.gc_define1*/
  1089.  
  1090.  
  1091. T2 r276nb_unsigned(T276* C){
  1092. T2 R=0;
  1093. T2 _ib=0;
  1094. _ib= T2BITS ;
  1095. R=(/*(IRF4.6nb*/(((T174*)((C)->_n/*16*/)))->_value/*8*//*)*/)/(_ib);
  1096. /*[IF*/
  1097. if(((/*(IRF4.6nb*/(((T174*)((C)->_n/*16*/)))->_value/*8*//*)*/)%(_ib))>(0)){
  1098. R=(R)+(1);
  1099. }
  1100. /*FI]*/
  1101. return R;
  1102. }
  1103.  
  1104.  
  1105. void r276to_reference(T276* C){
  1106. T0* _type_bit_ref=NULL;
  1107. T2 _idx=0;
  1108. _idx=r47fast_index_of((T47*)(oBC53mem_ref_nb),/*(IRF4.6nb*/(((T174*)((C)->_n/*16*/)))->_value/*8*//*)*/);
  1109. _type_bit_ref=/*(IRF4.6item*/(((T382*)(oBC53mem_type_bit_ref))->_storage/*4*/)[_idx]/*)*/;
  1110. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_951a));
  1111. /*]*/
  1112. /*[IRF3.5put_integer*/r45put_integer(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),r373id(((T373*)_type_bit_ref)));
  1113. /*]*/
  1114. }
  1115.  
  1116.  
  1117. void r276gc_mark_in(T276* C,T0* a1){
  1118. r7append(((T7*)a1),((T0*)ms13_8869));
  1119. r2append_in(r276id(C),a1);
  1120. }
  1121.  
  1122.  
  1123. void r276set_run_time_mark(T276* C){
  1124. r7copy((T7*)(((T0*)ms54_785024)),((T0*)ms13_1060));
  1125. r7append((T7*)(((T0*)ms54_785024)),r2to_string(/*(IRF4.6nb*/(((T174*)((C)->_n/*16*/)))->_value/*8*//*)*/));
  1126. C->_run_time_mark=r84item(((T0*)ms54_785024));
  1127. }
  1128.  
  1129.  
  1130. T0* r276run_class(T276* C){
  1131. T0* R=NULL;
  1132. R=r22run_class((T0*)C);
  1133. return R;
  1134. }
  1135. /*No:TYPE_BIT_1.c_header_pass2*/
  1136. /*No:TYPE_BIT_1.c_header_pass4*/
  1137. /*No:TYPE_BIT_1.is_like_current*/
  1138. /*No:TYPE_BIT_1.is_bit*/
  1139.  
  1140.  
  1141. T2 r276unsigned_padding(T276* C){
  1142. T2 R=0;
  1143. R=((r276nb_unsigned(C))*( T2BITS ))-(/*(IRF4.6nb*/(((T174*)((C)->_n/*16*/)))->_value/*8*//*)*/);
  1144. return R;
  1145. }
  1146.  
  1147.  
  1148. T0* r276smallest_ancestor(T276* C,T0* a1){
  1149. T0* R=NULL;
  1150. T0* _other_bit=NULL;
  1151. _other_bit=X54run_type(a1);
  1152. if(NULL!=(_other_bit))switch(((T0*)_other_bit)->id) {
  1153. case 276: case 277: 
  1154. break;
  1155. default:
  1156. _other_bit=NULL;
  1157. };/*[IF*/
  1158. if((_other_bit)!=((void*)(NULL))){
  1159. /*[IF*/
  1160. if((/*(IRF4.6nb*/(((T174*)((C)->_n/*16*/)))->_value/*8*//*)*/)<(X53nb(_other_bit))){
  1161. R=(T0*)C;
  1162. }
  1163. else{
  1164. R=_other_bit;
  1165. }
  1166. /*FI]*/
  1167. }
  1168. else{
  1169. R=r276type_any();
  1170. }
  1171. /*FI]*/
  1172. return R;
  1173. }
  1174.  
  1175.  
  1176. T6 r276is_c_int(T276* C){
  1177. T6 R=0;
  1178. R=(18)==(r276mapping_code(C));
  1179. return R;
  1180. }
  1181. /*No:TYPE_BIT_1.Cint*/
  1182. /*No:TYPE_BIT_1.run_time_mark*/
  1183. /*No:TYPE_BIT_1.n*/
  1184. /*No:TYPE_BIT_1.is_expanded*/
  1185.  
  1186.  
  1187. T6 r276is_c_char(T276* C){
  1188. T6 R=0;
  1189. R=(17)==(r276mapping_code(C));
  1190. return R;
  1191. }
  1192. /*No:TYPE_BIT_1.fz_char*/
  1193. /*No:TYPE_BIT_1.gc_info_in*/
  1194. /*No:TYPE_BIT_1.gc_define2*/
  1195. /*No:TYPE_BIT_1.is_like_feature*/
  1196. /*No:TYPE_BIT_1.fz_dot*/
  1197.  
  1198.  
  1199. T6 r276is_a(T276* C,T0* a1){
  1200. T6 R=0;
  1201. T0* _other_bit=NULL;
  1202. /*[IF*/
  1203. if(X54is_bit(a1)){
  1204. _other_bit=X54run_type(a1);
  1205. if(NULL!=(_other_bit))switch(((T0*)_other_bit)->id) {
  1206. case 276: case 277: 
  1207. break;
  1208. default:
  1209. _other_bit=NULL;
  1210. };/*[IF*/
  1211. if((/*(IRF4.6nb*/(((T174*)((C)->_n/*16*/)))->_value/*8*//*)*/)<=(X53nb(_other_bit))){
  1212. R=1;
  1213. }
  1214. else{
  1215. r21add_type((T0*)C,((T0*)ms13_17730));
  1216. r21add_type(a1,((T0*)ms53_7780));
  1217. }
  1218. /*FI]*/
  1219. }
  1220.  else if(r63is_subclass_of((T63*)(r276base_class(C)),X54base_class(a1))){
  1221. R=1;
  1222. r276used_as_reference(C);
  1223. }
  1224. else{
  1225. r21add_type((T0*)C,((T0*)ms13_17730));
  1226. r21add_type(a1,((T0*)ms13_47));
  1227. }
  1228. /*FI]*/
  1229. return R;
  1230. }
  1231. /*No:TYPE_BIT_1.written_mark*/
  1232.  
  1233.  
  1234. void r276c_initialize(T276* C){
  1235. T2 _i=0;
  1236. /*[IF*/
  1237. if((r276mapping_code(C))==(19)){
  1238. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_785024)))))->_count)=(0);
  1239. /*]*/
  1240. r7extend((T7*)(((T0*)ms54_785024)),'\173');
  1241. _i=r276nb_unsigned(C);
  1242. while (!((_i)==(0))) {
  1243. r7extend((T7*)(((T0*)ms54_785024)),'0');
  1244. _i=(_i)-(1);
  1245. /*[IF*/
  1246. if((_i)>(0)){
  1247. r7extend((T7*)(((T0*)ms54_785024)),'\54');
  1248. }
  1249. /*FI]*/
  1250. }
  1251. r7extend((T7*)(((T0*)ms54_785024)),'\175');
  1252. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_785024));
  1253. /*]*/
  1254. }
  1255. else{
  1256. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1257. T3 b1='0';
  1258. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1259. }/*]*/
  1260. /*]*/
  1261. }
  1262. /*FI]*/
  1263. }
  1264. /*No:TYPE_BIT_1.is_character*/
  1265.  
  1266.  
  1267. void r276make(T276* C,T0* a1,T0* a2){
  1268. C->_start_position=a1;
  1269. C->_n=a2;
  1270. r276set_run_time_mark(C);
  1271. C->_written_mark=(C)->_run_time_mark/*12*/;
  1272. }
  1273.  
  1274.  
  1275. void r276demangling_in(T276* C,T0* a1){
  1276. /*[IF*/
  1277. /*AF*//*AE*/
  1278. r7extend(((T7*)a1),'E');
  1279. /*FI]*/
  1280. r7extend(((T7*)a1),'\40');
  1281. r7append(((T7*)a1),(C)->_run_time_mark/*12*/);
  1282. }
  1283. /*No:TYPE_BIT_1.fz_typedef*/
  1284.  
  1285.  
  1286. void r276fatal_error_generic_list(T276* C){
  1287. r21add_type((T0*)C,((T0*)ms54_29184));
  1288. r21print_as_fatal_error((T21*)(oBC12eh));
  1289. }
  1290. /*No:TYPE_BIT_1.is_array*/
  1291. /*No:TYPE_BIT_1.fz_int*/
  1292. /*No:TYPE_BIT_1.Cchar*/
  1293. /*No:TYPE_BIT_1.tmp_string*/
  1294. /*No:TYPE_BIT_1.is_dummy_expanded*/
  1295.  
  1296.  
  1297. T2 r276space_for_variable(T276* C){
  1298. T2 R=0;
  1299. R=(r276nb_unsigned(C))*(( T2BITS )/( T3BITS ));
  1300. return R;
  1301. }
  1302.  
  1303.  
  1304. void r276to_runnable_1_2(T276* C){
  1305. T0* _rf=NULL;
  1306. T0* _rc=NULL;
  1307. _rc=r276run_class(C);
  1308. _rf=r24get_feature_with(((T24*)_rc),((T0*)ms14_2515));
  1309. _rf=r24get_feature_with(((T24*)_rc),((T0*)ms14_2520));
  1310. }
  1311. /*No:TYPE_BIT_1.to_expanded*/
  1312.  
  1313.  
  1314. T0* r276generic_list(T276* C){
  1315. T0* R=NULL;
  1316. r276fatal_error_generic_list(C);
  1317. return R;
  1318. }
  1319.  
  1320.  
  1321. T0* r276base_class(T276* C){
  1322. T0* R=NULL;
  1323. T0* _bcn=NULL;
  1324. _bcn=r276base_class_name();
  1325. /*[IF*/
  1326. if((_bcn)!=((void*)(NULL))){
  1327. R=r64base_class(((T64*)_bcn));
  1328. }
  1329. else{
  1330. /*[IRF3.6append*/{T0* b1=((T0*)ms54_37098);
  1331. r7append((T7*)(oBC21explanation),b1);
  1332. }/*]*/
  1333. r21add_type((T0*)C,((T0*)ms13_47));
  1334. r21print_as_fatal_error((T21*)(oBC12eh));
  1335. }
  1336. /*FI]*/
  1337. return R;
  1338. }
  1339.  
  1340.  
  1341. void r276cast_to_ref(T276* C){
  1342. X53cast_to_ref(/*(IRF4.4run_type*/((T0*)(C))/*)*/);
  1343. }
  1344.  
  1345.  
  1346. T0* r276base_class_name(void){
  1347. if(fBC53base_class_name==0){
  1348. fBC53base_class_name=1;
  1349. {T64*n=malloc(sizeof(*n));
  1350. *n=M64;
  1351. r64make(n,((T0*)ms14_2055),NULL);
  1352. oBC53base_class_name=(T0*)n;
  1353. }
  1354. }
  1355. return oBC53base_class_name;}
  1356. /*No:TYPE_BIT_1.is_formal_generic*/
  1357.  
  1358.  
  1359. T6 r276is_a_in(T276* C,T0* a1,T0* a2){
  1360. T6 R=0;
  1361. T0* _ct=NULL;
  1362. T0* _t2=NULL;
  1363. T0* _t1=NULL;
  1364. /*[IF*/
  1365. if(((C)->_written_mark/*8*/)==((void*)(X54written_mark(a1)))){
  1366. R=1;
  1367. }
  1368. else{
  1369. _ct=(((T24*)a2))->_current_type/*0*/;
  1370. _t1=r276to_runnable(C,_ct);
  1371. _t2=X54to_runnable(a1,_ct);
  1372. /*[IF*/
  1373. if((X54run_time_mark(_t1))==((void*)(X54run_time_mark(_t2)))){
  1374. R=1;
  1375. }
  1376. else{
  1377. R=X54is_a(_t1,_t2);
  1378. }
  1379. /*FI]*/
  1380. }
  1381. /*FI]*/
  1382. return R;
  1383. }
  1384. /*No:TYPE_BIT_1.fz_unsigned*/
  1385.  
  1386.  
  1387. T0* r276look_up_for(T276* C,T0* a1,T0* a2){
  1388. T0* R=NULL;
  1389. R=r63look_up_for((T63*)(r276base_class(C)),a1,a2);
  1390. return R;
  1391. }
  1392. /*No:TYPE_BIT_1.fz_00*/
  1393.  
  1394.  
  1395. void r276c_type_for_external_in(T276* C,T0* a1){
  1396. /*[IF*/
  1397. /*AF*//*AE*/
  1398. /*[IRF3.6c_type_for_result_in*/{T276* C1=C;
  1399. T0* b1=a1;
  1400. r276c_type_for_argument_in(C1,b1);
  1401. }/*]*/
  1402. /*FI]*/
  1403. }
  1404.  
  1405.  
  1406. void r276c_type_for_argument_in(T276* C,T0* a1){
  1407. r7extend(((T7*)a1),'T');
  1408. r2append_in(r276id(C),a1);
  1409. }
  1410.  
  1411.  
  1412. void r276c_header_pass1(T276* C){
  1413. T2 _mem_id=0;
  1414. T2 _mc=0;
  1415. _mc=r276mapping_code(C);
  1416. _mem_id=r276id(C);
  1417. r7copy((T7*)(((T0*)ms54_785024)),((T0*)ms13_6568));
  1418. {int z1=r276mapping_code(C);
  1419.  
  1420. if((17==z1)){
  1421. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_10920));
  1422. r7extend((T7*)(((T0*)ms54_785024)),'\40');
  1423. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_1696));
  1424. }
  1425.  else 
  1426. if((18==z1)){
  1427. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_10920));
  1428. r7extend((T7*)(((T0*)ms54_785024)),'\40');
  1429. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_1011));
  1430. }
  1431.  else {r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_10920));
  1432. }}
  1433. r7extend((T7*)(((T0*)ms54_785024)),'\40');
  1434. r7extend((T7*)(((T0*)ms54_785024)),'T');
  1435. r2append_in(_mem_id,((T0*)ms54_785024));
  1436. /*[IF*/
  1437. if((r276mapping_code(C))==(19)){
  1438. r7extend((T7*)(((T0*)ms54_785024)),'\133');
  1439. r2append_in(r276nb_unsigned(C),((T0*)ms54_785024));
  1440. r7extend((T7*)(((T0*)ms54_785024)),'\135');
  1441. }
  1442. /*FI]*/
  1443. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_144));
  1444. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_785024));
  1445. /*]*/
  1446. }
  1447. /*No:TYPE_BIT_1.c_type_for_result_in*/
  1448. /*No:TYPE_BIT_1.run_type*/
  1449. /*No:TYPE_BIT_1.c_type_for_target_in*/
  1450. /*No:TYPE_BIT_1.expanded_initializer*/
  1451.  
  1452.  
  1453. void r276c_frame_descriptor(T276* C){
  1454. r7extend((T7*)(oBC12c_frame_descriptor_format),'\45');
  1455. /*[IF*/
  1456. /*AF*//*AE*/
  1457. r7extend((T7*)(oBC12c_frame_descriptor_format),'E');
  1458. /*FI]*/
  1459. r2append_in(r276id(C),oBC12c_frame_descriptor_format);
  1460. r7extend((T7*)(oBC12c_frame_descriptor_format),'\45');
  1461. }
  1462. /*No:TYPE_BIT_1.has_creation*/
  1463. /*No:TYPE_BIT_1.c_header_pass3*/
  1464.  
  1465.  
  1466. void r276gc_call_new_in(T276* C,T0* a1){
  1467. r7append(((T7*)a1),((T0*)ms13_1008));
  1468. r2append_in(r276id(C),a1);
  1469. r7extend(((T7*)a1),'\50');
  1470. r7extend(((T7*)a1),'\51');
  1471. }
  1472. /*No:TYPE_BIT_1.fz_new*/
  1473. /*No:TYPE_BIT_1.is_boolean*/
  1474.  
  1475.  
  1476. void r276mapping_cast(T276* C){
  1477. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_15696)))))->_count)=(0);
  1478. /*]*/
  1479. r7extend((T7*)(((T0*)ms54_15696)),'\50');
  1480. /*[IRF3.6c_type_for_target_in*/{T276* C1=C;
  1481. T0* b1=((T0*)ms54_15696);
  1482. r276c_type_for_argument_in(C1,b1);
  1483. }/*]*/
  1484. r7extend((T7*)(((T0*)ms54_15696)),'\51');
  1485. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_15696));
  1486. /*]*/
  1487. }
  1488. /*No:TYPE_BIT_1.is_generic*/
  1489. /*No:TYPE_BIT_1.us_bit_n*/
  1490. /*No:TYPE_BIT_1.is_real*/
  1491. /*No:TYPE_BIT_1.need_c_struct*/
  1492. /*No:TYPE_BIT_1.is_any*/
  1493. /*No:TYPE_BIT_1.is_basic_eiffel_expanded*/
  1494. /*No:TYPE_BIT_1.fz_gc_mark*/
  1495.  
  1496.  
  1497. T0* r276type_any(void){
  1498. if(fBC12type_any==0){
  1499. fBC12type_any=1;
  1500. {T259*n=malloc(sizeof(*n));
  1501. *n=M259;
  1502. r259make(n,NULL);
  1503. oBC12type_any=(T0*)n;
  1504. }
  1505. }
  1506. return oBC12type_any;}
  1507. /*No:TYPE_BIT_1.need_gc_mark_function*/
  1508.  
  1509.  
  1510. T6 r276is_native_array(T276* C){
  1511. T6 R=0;
  1512. T0* _tna=NULL;
  1513. _tna=(T0*)C;
  1514. if(NULL!=(_tna))switch(((T0*)_tna)->id) {
  1515. case 263: 
  1516. break;
  1517. default:
  1518. _tna=NULL;
  1519. };R=(_tna)!=((void*)(NULL));
  1520. return R;
  1521. }
  1522. /*No:TYPE_BIT_1.is_string*/
  1523. /*No:TYPE_BIT_1.is_integer*/
  1524. /*No:TYPE_BIT_1.fz_bit_foo*/
  1525. /*No:TYPE_BIT_1.is_anchored*/
  1526. /*No:TYPE_BIT_1.is_run_type*/
  1527. /*No:TYPE_BIT_1.us_put_0*/
  1528. /*No:TYPE_BIT_1.is_reference*/
  1529. /*No:TYPE_BIT_1.is_none*/
  1530. /*No:TYPE_BIT_1.fz_inako*/
  1531. /*No:TYPE_BIT_1.is_like_argument*/
  1532. /*No:TYPE_BIT_1.just_before_gc_mark_in*/
  1533. /*No:TYPE_BIT_1.mapping_cast_memory*/
  1534. /*No:TYPE_BIT_1.us_bitn*/
  1535. /*No:TYPE_BIT_1.is_double*/
  1536.  
  1537.  
  1538. T6 r276is_c_unsigned_ptr(T276* C){
  1539. T6 R=0;
  1540. R=(19)==(r276mapping_code(C));
  1541. return R;
  1542. }
  1543. /*No:CALL_INFIX_PLUS.static_value*/
  1544. /*No:CALL_INFIX_PLUS.call_proc_call_c2c*/
  1545. /*No:CALL_INFIX_PLUS.feature_name*/
  1546.  
  1547.  
  1548. void r132finalize(T132* C){
  1549. T0* _rf=NULL;
  1550. T0* _rc=NULL;
  1551. _rf=(C)->_run_feature/*16*/;
  1552. _rc=X54run_class(/*X51current_type*/((T0*)(((T324*)_rf))->_current_type/*4*/));
  1553. C->_run_feature=r24dynamic((T24*)(r328first((T328*)((((T24*)_rc))->_running/*12*/))),_rf);
  1554. }
  1555.  
  1556.  
  1557. T6 r132is_static(T132* C){
  1558. T6 R=0;
  1559. /*[IF*/
  1560. if(X54is_integer(r132result_type(C))){
  1561. /*[IF*/
  1562. if((X56is_static((C)->_target/*4*/))&&(X56is_static(r132arg1(C)))){
  1563. R=1;
  1564. C->_static_value_mem=(X56static_value((C)->_target/*4*/))+(X56static_value(r132arg1(C)));
  1565. }
  1566. /*FI]*/
  1567. }
  1568. /*FI]*/
  1569. return R;
  1570. }
  1571. /*No:CALL_INFIX_PLUS.is_manifest_string*/
  1572.  
  1573.  
  1574. T0* r132start_position(T132* C){
  1575. T0* R=NULL;
  1576. R=((T138*)((C)->_feature_name/*12*/))->_start_position/*8*/;
  1577. return R;
  1578. }
  1579. /*No:CALL_INFIX_PLUS.c_simple*/
  1580.  
  1581.  
  1582. T0* r132add_comment(T132* C,T0* a1){
  1583. T0* R=NULL;
  1584. /*[IF*/
  1585. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
  1586. R=(T0*)C;
  1587. }
  1588. else{
  1589. {T230*n=malloc(sizeof(*n));
  1590. *n=M230;
  1591. r230make(n,(T0*)C,a1);
  1592. R=(T0*)n;
  1593. }
  1594. }
  1595. /*FI]*/
  1596. return R;
  1597. }
  1598.  
  1599.  
  1600. T2 r132to_integer(T132* C){
  1601. T2 R=0;
  1602. r132error(r132start_position(C),((T0*)ms13_45846));
  1603. return R;
  1604. }
  1605.  
  1606.  
  1607. T6 r132use_current(T132* C){
  1608. T6 R=0;
  1609. /*[IF*/
  1610. {/*AT*/R=X149use_current((C)->_arguments/*8*/);
  1611. }
  1612. /*FI]*/
  1613. /*[IF*/
  1614. if(R){
  1615. }
  1616.  else if(X56is_current((C)->_target/*4*/)){
  1617. R=X51use_current((C)->_run_feature/*16*/);
  1618. }
  1619. else{
  1620. R=X56use_current((C)->_target/*4*/);
  1621. }
  1622. /*FI]*/
  1623. return R;
  1624. }
  1625.  
  1626.  
  1627. T0* r132to_runnable(T132* C,T0* a1){
  1628. T0* R=NULL;
  1629. T0* _rf=NULL;
  1630. T0* _tbee=NULL;
  1631. T0* _at=NULL;
  1632. T0* _tt=NULL;
  1633. T0* _a=NULL;
  1634. T0* _t=NULL;
  1635. _t=r132runnable_expression((C)->_target/*4*/,a1);
  1636. _a=r132runnable_args((C)->_arguments/*8*/,a1);
  1637. _tt=X56result_type(_t);
  1638. _at=X56result_type(r132arg1(C));
  1639. /*[IF*/
  1640. {/*AT*//*[IF*/
  1641. if(X54is_real(_at)){
  1642. /*[IF*/
  1643. if(X54is_integer(_tt)){
  1644. _tbee=X54run_type(_at);
  1645. if(NULL!=(_tbee))switch(((T0*)_tbee)->id) {
  1646. case 270: case 268: case 266: case 267: case 271: case 264: 
  1647. break;
  1648. default:
  1649. _tbee=NULL;
  1650. };{T377*n=malloc(sizeof(*n));
  1651. *n=M377;
  1652. r377make(n,_t,_tbee);
  1653. _t=(T0*)n;
  1654. }
  1655. }
  1656. /*FI]*/
  1657. }
  1658.  else if(X54is_double(_at)){
  1659. /*[IF*/
  1660. if((X54is_integer(_tt))||(X54is_real(_tt))){
  1661. _tbee=X54run_type(_at);
  1662. if(NULL!=(_tbee))switch(((T0*)_tbee)->id) {
  1663. case 270: case 268: case 266: case 267: case 271: case 264: 
  1664. break;
  1665. default:
  1666. _tbee=NULL;
  1667. };{T377*n=malloc(sizeof(*n));
  1668. *n=M377;
  1669. r377make(n,_t,_tbee);
  1670. _t=(T0*)n;
  1671. }
  1672. }
  1673. /*FI]*/
  1674. }
  1675. /*FI]*/
  1676. }
  1677. /*FI]*/
  1678. _rf=r132run_feature_for(C,_t,a1);
  1679. /*[IF*/
  1680. if(((C)->_run_feature/*16*/)==((void*)(NULL))){
  1681. C->_target=_t;
  1682. C->_arguments=_a;
  1683. C->_run_feature=_rf;
  1684. r132run_feature_match(C,a1);
  1685. R=(T0*)C;
  1686. }
  1687.  else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
  1688. R=(T0*)C;
  1689. }
  1690. else{
  1691. {T132*n=malloc(sizeof(*n));
  1692. *n=M132;
  1693. r132with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
  1694. R=(T0*)n;
  1695. }
  1696. }
  1697. /*FI]*/
  1698. return R;
  1699. }
  1700.  
  1701.  
  1702. void r132compile_to_c_old(T132* C){
  1703. X56compile_to_c_old((C)->_target/*4*/);
  1704. /*[IF*/
  1705. {/*AT*/X149compile_to_c_old((C)->_arguments/*8*/);
  1706. }
  1707. /*FI]*/
  1708. }
  1709. /*No:CALL_INFIX_PLUS.is_pre_computable*/
  1710. /*No:CALL_INFIX_PLUS.fz_bad_argument*/
  1711.  
  1712.  
  1713. void r132collect_c_tmp(T132* C){
  1714. /*[IF*/
  1715. if(((C)->_run_feature/*16*/)!=((void*)(NULL))){
  1716. X51collect_c_tmp((C)->_run_feature/*16*/);
  1717. }
  1718. /*FI]*/
  1719. X56collect_c_tmp((C)->_target/*4*/);
  1720. /*[IF*/
  1721. if(((C)->_arguments/*8*/)!=((void*)(NULL))){
  1722. X149collect_c_tmp((C)->_arguments/*8*/);
  1723. }
  1724. /*FI]*/
  1725. }
  1726. /*No:CALL_INFIX_PLUS.fz_iinaiv*/
  1727.  
  1728.  
  1729. T0* r132result_type(T132* C){
  1730. T0* R=NULL;
  1731. T0* _tla=NULL;
  1732. R=X51result_type((C)->_run_feature/*16*/);
  1733. /*[IF*/
  1734. if(X54is_like_current(R)){
  1735. R=/*X51current_type*/((T0*)((T324*)((C)->_run_feature/*16*/))->_current_type/*4*/);
  1736. }
  1737. else{
  1738. _tla=R;
  1739. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  1740. case 258: 
  1741. break;
  1742. default:
  1743. _tla=NULL;
  1744. };/*[IF*/
  1745. if((_tla)!=((void*)(NULL))){
  1746. R=X54run_type(X56result_type(r132arg1(C)));
  1747. }
  1748. /*FI]*/
  1749. }
  1750. /*FI]*/
  1751. return R;
  1752. }
  1753. /*No:CALL_INFIX_PLUS.static_value_mem*/
  1754. /*No:CALL_INFIX_PLUS.run_feature*/
  1755.  
  1756.  
  1757. T0* r132runnable_args(T0* a1,T0* a2){
  1758. T0* R=NULL;
  1759. R=X149to_runnable(a1,a2);
  1760. /*[IF*/
  1761. if((R)==((void*)(NULL))){
  1762. r21add_position(X149start_position(a1));
  1763. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
  1764. r21fatal_error((T21*)(oBC12eh),b1);
  1765. }/*]*/
  1766. }
  1767. /*FI]*/
  1768. return R;
  1769. }
  1770. /*No:CALL_INFIX_PLUS.fz_07*/
  1771. /*No:CALL_INFIX_PLUS.arg_count*/
  1772.  
  1773.  
  1774. void r132with(T132* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  1775. C->_target=a1;
  1776. C->_feature_name=a2;
  1777. C->_arguments=a3;
  1778. C->_run_feature=a4;
  1779. r132run_feature_match(C,a5);
  1780. }
  1781. /*No:CALL_INFIX_PLUS.is_result*/
  1782. /*No:CALL_INFIX_PLUS.fatal_error*/
  1783.  
  1784.  
  1785. void r132mapping_c_target(T132* C,T0* a1){
  1786. T0* _actual_type=NULL;
  1787. T6 _flag=0;
  1788. _flag=r25call_invariant_start(a1);
  1789. _actual_type=X54run_type(r132result_type(C));
  1790. /*[IF*/
  1791. if(X54is_reference(_actual_type)){
  1792. /*[IF*/
  1793. if(X54is_reference(a1)){
  1794. X54mapping_cast(a1);
  1795. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1796. T3 b1='\50';
  1797. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1798. }/*]*/
  1799. /*]*/
  1800. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T132* C1=C;
  1801. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  1802. }/*]*/
  1803. /*]*/
  1804. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1805. T3 b1='\51';
  1806. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1807. }/*]*/
  1808. /*]*/
  1809. }
  1810. else{
  1811. X54to_expanded(_actual_type);
  1812. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1813. T3 b1='\50';
  1814. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1815. }/*]*/
  1816. /*]*/
  1817. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T132* C1=C;
  1818. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  1819. }/*]*/
  1820. /*]*/
  1821. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1822. T3 b1='\51';
  1823. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1824. }/*]*/
  1825. /*]*/
  1826. }
  1827. /*FI]*/
  1828. }
  1829. else{
  1830. /*[IF*/
  1831. if(X54is_reference(a1)){
  1832. X54to_reference(_actual_type);
  1833. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1834. T3 b1='\50';
  1835. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1836. }/*]*/
  1837. /*]*/
  1838. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T132* C1=C;
  1839. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  1840. }/*]*/
  1841. /*]*/
  1842. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1843. T3 b1='\51';
  1844. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1845. }/*]*/
  1846. /*]*/
  1847. }
  1848. else{
  1849. /*[IF*/
  1850. if(X54need_c_struct(a1)){
  1851. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1852. T3 b1='\46';
  1853. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1854. }/*]*/
  1855. /*]*/
  1856. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1857. T3 b1='\50';
  1858. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1859. }/*]*/
  1860. /*]*/
  1861. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T132* C1=C;
  1862. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  1863. }/*]*/
  1864. /*]*/
  1865. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1866. T3 b1='\51';
  1867. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1868. }/*]*/
  1869. /*]*/
  1870. }
  1871. else{
  1872. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T132* C1=C;
  1873. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  1874. }/*]*/
  1875. /*]*/
  1876. }
  1877. /*FI]*/
  1878. }
  1879. /*FI]*/
  1880. }
  1881. /*FI]*/
  1882. /*[IF*/
  1883. if(_flag){
  1884. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T45* C1=(T45*)(oBC25out_c);
  1885. T3 b1='\51';
  1886. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1887. }/*]*/
  1888. /*]*/
  1889. }
  1890. /*FI]*/
  1891. }
  1892.  
  1893.  
  1894. void r132run_feature_match(T132* C,T0* a1){
  1895. r132run_feature_has_result(C);
  1896. X149match_with((C)->_arguments/*8*/,(C)->_run_feature/*16*/,a1);
  1897. }
  1898. /*No:CALL_INFIX_PLUS.arguments*/
  1899.  
  1900.  
  1901. T0* r132runnable_expression(T0* a1,T0* a2){
  1902. T0* R=NULL;
  1903. R=X56to_runnable(a1,a2);
  1904. /*[IF*/
  1905. if((R)==((void*)(NULL))){
  1906. r21add_position(X56start_position(a1));
  1907. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms118_16515);
  1908. r21fatal_error((T21*)(oBC12eh),b1);
  1909. }/*]*/
  1910. }
  1911. /*FI]*/
  1912. return R;
  1913. }
  1914. /*No:CALL_INFIX_PLUS.can_be_dropped*/
  1915.  
  1916.  
  1917. void r132c_declare_for_old(T132* C){
  1918. X56c_declare_for_old((C)->_target/*4*/);
  1919. /*[IF*/
  1920. {/*AT*/X149c_declare_for_old((C)->_arguments/*8*/);
  1921. }
  1922. /*FI]*/
  1923. }
  1924. /*No:CALL_INFIX_PLUS.implicit_cast*/
  1925.  
  1926.  
  1927. void r132dca_inline_argument(T132* C,T0* a1){
  1928. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1929. T3 b1='\50';
  1930. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1931. }/*]*/
  1932. /*]*/
  1933. X56dca_inline_argument((C)->_target/*4*/,a1);
  1934. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1935. T3 b1='\51';
  1936. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1937. }/*]*/
  1938. /*]*/
  1939. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1940. T3 b1='\53';
  1941. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1942. }/*]*/
  1943. /*]*/
  1944. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1945. T3 b1='\50';
  1946. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1947. }/*]*/
  1948. /*]*/
  1949. X56dca_inline_argument(r132arg1(C),a1);
  1950. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1951. T3 b1='\51';
  1952. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1953. }/*]*/
  1954. /*]*/
  1955. }
  1956. /*No:CALL_INFIX_PLUS.compile_to_c*/
  1957.  
  1958.  
  1959. T2 r132isa_dca_inline_argument(T132* C){
  1960. T2 R=0;
  1961. /*[IF*/
  1962. if(X54is_integer(r132result_type(C))){
  1963. R=X56isa_dca_inline_argument((C)->_target/*4*/);
  1964. /*[IF*/
  1965. if((R)==(-(1))){
  1966. R=X56isa_dca_inline_argument(r132arg1(C));
  1967. }
  1968.  else if((R)>(0)){
  1969. /*[IF*/
  1970. if((X56isa_dca_inline_argument(r132arg1(C)))>=(0)){
  1971. R=0;
  1972. }
  1973. /*FI]*/
  1974. }
  1975. /*FI]*/
  1976. }
  1977. /*FI]*/
  1978. return R;
  1979. }
  1980.  
  1981.  
  1982. T0* r132arg1(T132* C){
  1983. T0* R=NULL;
  1984. R=/*X149first*/((T0*)/*(IRF4.3first*/((T149*)((C)->_arguments/*8*/))->_first_one/*4*//*)*/);
  1985. return R;
  1986. }
  1987.  
  1988.  
  1989. void r132run_feature_has_result(T132* C){
  1990. /*[IF*/
  1991. if((X51result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
  1992. r21add_position(X51start_position((C)->_run_feature/*16*/));
  1993. r21add_position(((T138*)((C)->_feature_name/*12*/))->_start_position/*8*/);
  1994. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms117_53650);
  1995. r21fatal_error((T21*)(oBC12eh),b1);
  1996. }/*]*/
  1997. }
  1998. /*FI]*/
  1999. }
  2000.  
  2001.  
  2002. T0* r132run_feature_for(T132* C,T0* a1,T0* a2){
  2003. T0* R=NULL;
  2004. T0* _rc=NULL;
  2005. _rc=X54run_class(X56result_type(a1));
  2006. R=r24get_rf(((T24*)_rc),a1,(C)->_feature_name/*12*/,a2);
  2007. return R;
  2008. }
  2009. /*No:CALL_INFIX_PLUS.target*/
  2010.  
  2011.  
  2012. void r132error(T0* a1,T0* a2){
  2013. r21add_position(a1);
  2014. r21error((T21*)(oBC12eh),a2);
  2015. }
  2016.  
  2017.  
  2018. void r132make(T132* C,T0* a1,T0* a2,T0* a3){
  2019. C->_target=a1;
  2020. {T138*n=malloc(sizeof(*n));
  2021. *n=M138;
  2022. r138make(n,r132operator(),a2);
  2023. C->_feature_name=(T0*)n;
  2024. }
  2025. {T149*n=malloc(sizeof(*n));
  2026. *n=M149;
  2027. /*[IRF3.3make_1*/((((T149*)(n)))->_first_one)=(a3);
  2028. /*]*/
  2029. C->_arguments=(T0*)n;
  2030. }
  2031. }
  2032. /*No:CALL_INFIX_PLUS.us_plus*/
  2033. /*No:CALL_INFIX_PLUS.is_current*/
  2034.  
  2035.  
  2036. void r132mapping_c_arg(T132* C,T0* a1){
  2037. T0* _actual_type=NULL;
  2038. _actual_type=X54run_type(r132result_type(C));
  2039. /*[IF*/
  2040. if(X54is_reference(_actual_type)){
  2041. /*[IF*/
  2042. if(X54is_reference(a1)){
  2043. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T132* C1=C;
  2044. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  2045. }/*]*/
  2046. /*]*/
  2047. }
  2048. else{
  2049. X54to_expanded(_actual_type);
  2050. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2051. T3 b1='\50';
  2052. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2053. }/*]*/
  2054. /*]*/
  2055. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T132* C1=C;
  2056. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  2057. }/*]*/
  2058. /*]*/
  2059. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2060. T3 b1='\51';
  2061. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2062. }/*]*/
  2063. /*]*/
  2064. }
  2065. /*FI]*/
  2066. }
  2067. else{
  2068. /*[IF*/
  2069. if(X54is_reference(a1)){
  2070. X54to_reference(_actual_type);
  2071. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2072. T3 b1='\50';
  2073. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2074. }/*]*/
  2075. /*]*/
  2076. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T132* C1=C;
  2077. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  2078. }/*]*/
  2079. /*]*/
  2080. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2081. T3 b1='\51';
  2082. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2083. }/*]*/
  2084. /*]*/
  2085. }
  2086. else{
  2087. /*[IF*/
  2088. if(X54need_c_struct(a1)){
  2089. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2090. T3 b1='\46';
  2091. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2092. }/*]*/
  2093. /*]*/
  2094. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2095. T3 b1='\50';
  2096. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2097. }/*]*/
  2098. /*]*/
  2099. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T132* C1=C;
  2100. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  2101. }/*]*/
  2102. /*]*/
  2103. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2104. T3 b1='\51';
  2105. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2106. }/*]*/
  2107. /*]*/
  2108. }
  2109. else{
  2110. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T132* C1=C;
  2111. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  2112. }/*]*/
  2113. /*]*/
  2114. }
  2115. /*FI]*/
  2116. }
  2117. /*FI]*/
  2118. }
  2119. /*FI]*/
  2120. }
  2121. /*No:CALL_INFIX_PLUS.is_void*/
  2122.  
  2123.  
  2124. T0* r132operator(void){
  2125. T0* R=NULL;
  2126. R=((T0*)ms14_44);
  2127. return R;
  2128. }
  2129.  
  2130.  
  2131. void r132afd_check(T132* C){
  2132. T0* _running=NULL;
  2133. T0* _rc=NULL;
  2134. _rc=X54run_class(X56result_type((C)->_target/*4*/));
  2135. _running=(((T24*)_rc))->_running/*12*/;
  2136. /*[IF*/
  2137. if((_running)==((void*)(NULL))){
  2138. r21add_position(X56start_position((C)->_target/*4*/));
  2139. /*[IRF3.6append*/{T0* b1=((T0*)ms118_181815);
  2140. r7append((T7*)(oBC21explanation),b1);
  2141. }/*]*/
  2142. /*[IRF3.6append*/{T0* b1=X54run_time_mark((((T24*)_rc))->_current_type/*0*/);
  2143. r7append((T7*)(oBC21explanation),b1);
  2144. }/*]*/
  2145. /*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
  2146. r7append((T7*)(oBC21explanation),b1);
  2147. }/*]*/
  2148. r21print_as_warning((T21*)(oBC12eh));
  2149. r24set_at_run_time(((T24*)_rc));
  2150. }
  2151.  else if((r328count(((T328*)_running)))>(1)){
  2152. r331update((C)->_target/*4*/,(C)->_run_feature/*16*/);
  2153. }
  2154. /*FI]*/
  2155. X56afd_check((C)->_target/*4*/);
  2156. /*[IF*/
  2157. {/*AT*/X149afd_check((C)->_arguments/*8*/);
  2158. }
  2159. /*FI]*/
  2160. }
  2161. /*No:CHARACTER_CONSTANT.static_value*/
  2162. /*No:CHARACTER_CONSTANT.mapping_c_target*/
  2163. /*No:CHARACTER_CONSTANT.is_static*/
  2164. /*No:CHARACTER_CONSTANT.can_be_dropped*/
  2165. /*No:CHARACTER_CONSTANT.is_manifest_string*/
  2166. /*No:CHARACTER_CONSTANT.start_position*/
  2167. /*No:CHARACTER_CONSTANT.set_pretty_print_mode*/
  2168. /*No:CHARACTER_CONSTANT.c_simple*/
  2169. /*No:CHARACTER_CONSTANT.c_declare_for_old*/
  2170.  
  2171.  
  2172. T0* r170add_comment(T170* C,T0* a1){
  2173. T0* R=NULL;
  2174. /*[IF*/
  2175. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
  2176. R=(T0*)C;
  2177. }
  2178. else{
  2179. {T230*n=malloc(sizeof(*n));
  2180. *n=M230;
  2181. r230make(n,(T0*)C,a1);
  2182. R=(T0*)n;
  2183. }
  2184. }
  2185. /*FI]*/
  2186. return R;
  2187. }
  2188. /*No:CHARACTER_CONSTANT.to_integer*/
  2189. /*No:CHARACTER_CONSTANT.use_current*/
  2190. /*No:CHARACTER_CONSTANT.dca_inline_argument*/
  2191.  
  2192.  
  2193. void r170compile_to_c(T170* C){
  2194. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2195. T3 b1='\47';
  2196. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2197. }/*]*/
  2198. /*]*/
  2199. /*[IF*/
  2200. if((r3is_letter((C)->_value/*8*/))||(r3is_digit((C)->_value/*8*/))){
  2201. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2202. T3 b1=(C)->_value/*8*/;
  2203. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2204. }/*]*/
  2205. /*]*/
  2206. }
  2207.  else if(((C)->_value/*8*/)==('\n')){
  2208. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2209. T3 b1='\134';
  2210. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2211. }/*]*/
  2212. /*]*/
  2213. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2214. T3 b1='n';
  2215. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2216. }/*]*/
  2217. /*]*/
  2218. }
  2219. else{
  2220. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2221. T3 b1='\134';
  2222. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2223. }/*]*/
  2224. /*]*/
  2225. /*[IRF3.5put_integer*/r45put_integer(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),r2to_octal(((unsigned char)(C)->_value/*8*/)));
  2226. /*]*/
  2227. }
  2228. /*FI]*/
  2229. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2230. T3 b1='\47';
  2231. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2232. }/*]*/
  2233. /*]*/
  2234. }
  2235. /*No:CHARACTER_CONSTANT.to_runnable*/
  2236.  
  2237.  
  2238. T2 r170isa_dca_inline_argument(void){
  2239. T2 R=0;
  2240. /*[IF*/
  2241. {/*AT*/R=-(1);
  2242. }
  2243. /*FI]*/
  2244. return R;
  2245. }
  2246. /*No:CHARACTER_CONSTANT.compile_to_c_old*/
  2247. /*No:CHARACTER_CONSTANT.is_pre_computable*/
  2248. /*No:CHARACTER_CONSTANT.collect_c_tmp*/
  2249. /*No:CHARACTER_CONSTANT.fz_iinaiv*/
  2250. int fBC170result_type=0;
  2251. T0*oBC170result_type=NULL;
  2252.  
  2253.  
  2254. T0* r170result_type(void){
  2255. if(fBC170result_type==0){
  2256. fBC170result_type=1;
  2257. {T266*n=malloc(sizeof(*n));
  2258. *n=M266;
  2259. r266make(n,NULL);
  2260. oBC170result_type=(T0*)n;
  2261. }
  2262. }
  2263. return oBC170result_type;}
  2264.  
  2265.  
  2266. void r170error(T0* a1,T0* a2){
  2267. r21add_position(a1);
  2268. r21error((T21*)(oBC12eh),a2);
  2269. }
  2270.  
  2271.  
  2272. void r170make(T170* C,T0* a1,T3 a2,T2 a3){
  2273. C->_start_position=a1;
  2274. C->_value=a2;
  2275. /*[IRF3.3set_pretty_print_mode*/((((T170*)(C)))->_pretty_print_mode)=(a3);
  2276. /*]*/
  2277. }
  2278. /*No:CHARACTER_CONSTANT.pretty_print_mode*/
  2279. /*No:CHARACTER_CONSTANT.is_current*/
  2280. /*No:CHARACTER_CONSTANT.is_void*/
  2281.  
  2282.  
  2283. void r170mapping_c_arg(T170* C,T0* a1){
  2284. /*[IF*/
  2285. if(X54is_reference(a1)){
  2286. /*[IRF3.6to_reference*/{T266* C1=(T266*)(r170result_type());
  2287. r25to_reference((T25*)(oBC12cpp),(T0*)C1,r266type_character_ref());
  2288. }/*]*/
  2289. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2290. T3 b1='\50';
  2291. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2292. }/*]*/
  2293. /*]*/
  2294. r170compile_to_c(C);
  2295. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2296. T3 b1='\51';
  2297. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2298. }/*]*/
  2299. /*]*/
  2300. }
  2301. else{
  2302. r170compile_to_c(C);
  2303. }
  2304. /*FI]*/
  2305. }
  2306. /*No:CHARACTER_CONSTANT.afd_check*/
  2307. /*No:CHARACTER_CONSTANT.value*/
  2308. /*No:CHARACTER_CONSTANT.is_result*/
  2309.  
  2310.  
  2311. void r36loading_path_add(T36* C,T0* a1,T0* a2,T2 a3){
  2312. T0* _line=NULL;
  2313. T0* _file=NULL;
  2314. /*[IF*/
  2315. if(((a3)>(5))||((r39count(((T39*)a1)))>(1024))){
  2316. r28w_put_string(((T0*)ms36_83580));
  2317. {T7*n=malloc(sizeof(*n));
  2318. *n=M7;
  2319. r7make(n,1024);
  2320. _line=(T0*)n;
  2321. }
  2322. r36append_lp_in(C,_line,a1);
  2323. r28w_put_string(_line);
  2324. exit(1);
  2325. }
  2326. /*FI]*/
  2327. {T37*n=malloc(sizeof(*n));
  2328. *n=M37;
  2329. /*[IRF3.1make*//*]*/
  2330. _file=(T0*)n;
  2331. }
  2332. r28sfr_connect((T28*)(oBC12echo),_file,a2);
  2333. /*[IF*/
  2334. if(/*(IRF4.7is_connected*/((((T37*)_file))->_path/*4*/)!=(NULL)/*)*/){
  2335. r28put_string((T28*)(oBC12echo),((T0*)ms36_25809));
  2336. r28put_string((T28*)(oBC12echo),a2);
  2337. r28put_string((T28*)(oBC12echo),((T0*)ms36_10070));
  2338. while (!(r37end_of_input(((T37*)_file)))) {
  2339. r37read_line(((T37*)_file));
  2340. _line=r7twin((T7*)(oBC38last_string));
  2341. /*[IF*/
  2342. if(r7has_suffix(((T7*)_line),((T0*)ms36_18194))){
  2343. r36loading_path_add(C,a1,_line,(a3)+(1));
  2344. }
  2345.  else if(!(/*(IRF4.7empty*/((((T7*)_line))->_count/*4*/)==(0)/*)*/)){
  2346. r39add_last(((T39*)a1),_line);
  2347. }
  2348. /*FI]*/
  2349. }
  2350. r37disconnect(((T37*)_file));
  2351. }
  2352. /*FI]*/
  2353. }
  2354. /*No:SYSTEM_TOOLS.fz_runtime*/
  2355. /*No:SYSTEM_TOOLS.fz_void*/
  2356. /*No:SYSTEM_TOOLS.system_name*/
  2357.  
  2358.  
  2359. void r36parent_directory(T36* C,T0* a1){
  2360. /*[IF*/
  2361. if(r36slash_separator(C)){
  2362. r7remove_last(((T7*)a1),1);
  2363. while (!((r7last(((T7*)a1)))==('\57'))) {
  2364. r7remove_last(((T7*)a1),1);
  2365. }
  2366. }
  2367.  else if(r36backslash_separator(C)){
  2368. r7remove_last(((T7*)a1),1);
  2369. while (!((r7last(((T7*)a1)))==('\134'))) {
  2370. r7remove_last(((T7*)a1),1);
  2371. }
  2372. }
  2373.  else if(r36colon_separator(C)){
  2374. r7remove_last(((T7*)a1),1);
  2375. while (!((r7last(((T7*)a1)))==('\72'))) {
  2376. r7remove_last(((T7*)a1),1);
  2377. }
  2378. }
  2379.  else if((((T0*)ms36_756))==((void*)((C)->_system_name/*0*/))){
  2380. r7remove_last(((T7*)a1),1);
  2381. while (!((r7last(((T7*)a1)))==('\56'))) {
  2382. r7remove_last(((T7*)a1),1);
  2383. }
  2384. r7remove_last(((T7*)a1),1);
  2385. r7extend(((T7*)a1),'\135');
  2386. }
  2387. /*FI]*/
  2388. }
  2389. /*No:SYSTEM_TOOLS.windows_system*/
  2390. int fBC36o_suffix_memory=0;
  2391. T0*oBC36o_suffix_memory=NULL;
  2392.  
  2393.  
  2394. T0* r36o_suffix_memory(T36* C){
  2395. if(fBC36o_suffix_memory==0){
  2396. fBC36o_suffix_memory=1;
  2397. {T7*n=malloc(sizeof(*n));
  2398. *n=M7;
  2399. r7make(n,4);
  2400. oBC36o_suffix_memory=(T0*)n;
  2401. }
  2402. r7copy((T7*)(((T0*)ms12_583550)),(C)->_sys_directory/*4*/);
  2403. r7append((T7*)(((T0*)ms12_583550)),((T0*)ms36_8721));
  2404. r7append((T7*)(((T0*)ms12_583550)),(C)->_system_name/*0*/);
  2405. r28sfr_connect_or_exit((T28*)(oBC12echo),oBC12tmp_file_read,((T0*)ms12_583550));
  2406. oBC36o_suffix_memory=r28read_word_in((T28*)(oBC12echo),oBC12tmp_file_read);
  2407. r37disconnect((T37*)(oBC12tmp_file_read));
  2408. }
  2409. return oBC36o_suffix_memory;}
  2410.  
  2411.  
  2412. void r36put_c_main_function_type(T36* C,T0* a1){
  2413. /*[IF*/
  2414. if((((T0*)ms36_756))==((void*)((C)->_system_name/*0*/))){
  2415. r45put_string(((T45*)a1),((T0*)ms13_1776a));
  2416. }
  2417. else{
  2418. r45put_string(((T45*)a1),((T0*)ms13_1011));
  2419. }
  2420. /*FI]*/
  2421. }
  2422. /*No:SYSTEM_TOOLS.help_suffix*/
  2423. /*No:SYSTEM_TOOLS.fz_03*/
  2424. /*No:SYSTEM_TOOLS.us_none*/
  2425. /*No:SYSTEM_TOOLS.vms_system*/
  2426. /*No:SYSTEM_TOOLS.fz_se*/
  2427.  
  2428.  
  2429. T0* r36path_h(T36* C){
  2430. T0* R=NULL;
  2431. R=r7twin((T7*)(((T43*)(oBC12run_control))->_root_class/*8*/));
  2432. r7to_lower(((T7*)R));
  2433. /*[IF*/
  2434. if((((T0*)ms36_708))==((void*)((C)->_system_name/*0*/))){
  2435. while (!(((((T7*)R))->_count/*4*/)<=(4))) {
  2436. r7remove_last(((T7*)R),1);
  2437. }
  2438. }
  2439. /*FI]*/
  2440. r7append(((T7*)R),((T0*)ms12_306));
  2441. return R;
  2442. }
  2443. /*No:SYSTEM_TOOLS.beos_system*/
  2444.  
  2445.  
  2446. T0* r36get_environment_variable(T36* C,T0* a1){
  2447. T0* R=NULL;
  2448. T8 _p=0;
  2449. _p=r7to_external(((T7*)a1));
  2450. R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p));
  2451. return R;
  2452. }
  2453. /*No:SYSTEM_TOOLS.fz_sys*/
  2454. /*No:SYSTEM_TOOLS.fz_system_se*/
  2455. /*No:SYSTEM_TOOLS.fz_bin*/
  2456. /*No:SYSTEM_TOOLS.fz_loadpath_se*/
  2457. /*No:SYSTEM_TOOLS.fz_gc_lib*/
  2458. /*No:SYSTEM_TOOLS.dos_system*/
  2459. /*No:SYSTEM_TOOLS.sys_directory*/
  2460. /*No:SYSTEM_TOOLS.fz_b0*/
  2461. T0*oBC36system_list=NULL;
  2462.  
  2463.  
  2464. void r36read_loading_path_in(T36* C,T0* a1){
  2465. r36loading_path_add(C,a1,((T0*)ms36_18194),1);
  2466. r7copy((T7*)(((T0*)ms12_583550)),(C)->_sys_directory/*4*/);
  2467. r7append((T7*)(((T0*)ms12_583550)),((T0*)ms36_8613));
  2468. r7append((T7*)(((T0*)ms12_583550)),(C)->_system_name/*0*/);
  2469. r36loading_path_add(C,a1,((T0*)ms12_583550),1);
  2470. }
  2471.  
  2472.  
  2473. T0* r36first_line_of_sys_file(T36* C,T0* a1){
  2474. T0* R=NULL;
  2475. r7copy((T7*)(((T0*)ms12_583550)),(C)->_sys_directory/*4*/);
  2476. r7append((T7*)(((T0*)ms12_583550)),a1);
  2477. r7append((T7*)(((T0*)ms12_583550)),(C)->_system_name/*0*/);
  2478. r28sfr_connect_or_exit((T28*)(oBC12echo),oBC12tmp_file_read,((T0*)ms12_583550));
  2479. r37read_line((T37*)(oBC12tmp_file_read));
  2480. R=r7twin((T7*)(oBC38last_string));
  2481. r37disconnect((T37*)(oBC12tmp_file_read));
  2482. return R;
  2483. }
  2484.  
  2485.  
  2486. void r36sys_runtime(T36* C,T0* a1,T3 a2){
  2487. r7copy((T7*)(((T0*)ms12_583550)),(C)->_sys_directory/*4*/);
  2488. r36add_directory(C,((T0*)ms12_583550),((T0*)ms13_8988));
  2489. r7append((T7*)(((T0*)ms12_583550)),a1);
  2490. r7extend((T7*)(((T0*)ms12_583550)),'\56');
  2491. r7extend((T7*)(((T0*)ms12_583550)),a2);
  2492. r28sfr_connect_or_exit((T28*)(oBC12echo),oBC12tmp_file_read,((T0*)ms12_583550));
  2493. }
  2494.  
  2495.  
  2496. void r36bad_use_exit(T36* C,T0* a1){
  2497. r28w_put_string(((T0*)ms36_46940));
  2498. r28w_put_string(a1);
  2499. r28w_put_string(((T0*)ms36_303));
  2500. r7copy((T7*)(((T0*)ms12_583550)),(C)->_sys_directory/*4*/);
  2501. r36parent_directory(C,((T0*)ms12_583550));
  2502. r36add_directory(C,((T0*)ms12_583550),((T0*)ms36_966));
  2503. r7append((T7*)(((T0*)ms12_583550)),a1);
  2504. r7append((T7*)(((T0*)ms12_583550)),((T0*)ms12_1632));
  2505. r28w_put_string(((T0*)ms36_39440));
  2506. r28w_put_string(((T0*)ms12_583550));
  2507. r28w_put_character('\n');
  2508. exit(1);
  2509. }
  2510. /*No:SYSTEM_TOOLS.amiga_system*/
  2511. int fBC36make_suffix=0;
  2512. T0*oBC36make_suffix=NULL;
  2513.  
  2514.  
  2515. T0* r36make_suffix(T36* C){
  2516. if(fBC36make_suffix==0){
  2517. fBC36make_suffix=1;
  2518. /*[IF*/
  2519. if((((T0*)ms36_708))==((void*)((C)->_system_name/*0*/))){
  2520. oBC36make_suffix=((T0*)ms36_1084);
  2521. }
  2522.  else if((((T0*)ms36_9331))==((void*)((C)->_system_name/*0*/))){
  2523. oBC36make_suffix=((T0*)ms36_1468);
  2524. }
  2525.  else if((((T0*)ms36_756))==((void*)((C)->_system_name/*0*/))){
  2526. oBC36make_suffix=((T0*)ms36_1116);
  2527. }
  2528.  else if((((T0*)ms36_654))==((void*)((C)->_system_name/*0*/))){
  2529. oBC36make_suffix=((T0*)ms36_1072);
  2530. }
  2531. else{
  2532. oBC36make_suffix=((T0*)ms36_2375);
  2533. }
  2534. /*FI]*/
  2535. }
  2536. return oBC36make_suffix;}
  2537.  
  2538.  
  2539. void r36append_lp_in(T36* C,T0* a1,T0* a2){
  2540. T0* _sed=NULL;
  2541. T2 _i=0;
  2542. r7append(((T7*)a1),((T0*)ms36_12180));
  2543. _i=(((T39*)a2))->_lower/*12*/;
  2544. while (!((_i)>((((T39*)a2))->_upper/*8*/))) {
  2545. r7extend(((T7*)a1),'\40');
  2546. r7extend(((T7*)a1),'\42');
  2547. r7append(((T7*)a1),r39item(((T39*)a2),_i));
  2548. r7extend(((T7*)a1),'\42');
  2549. r7extend(((T7*)a1),'\n');
  2550. _i=(_i)+(1);
  2551. }
  2552. r7append(((T7*)a1),((T0*)ms36_33825));
  2553. _sed=r36get_environment_variable(C,((T0*)ms13_18788));
  2554. /*[IF*/
  2555. if((_sed)==((void*)(NULL))){
  2556. r7append(((T7*)a1),((T0*)ms36_5301));
  2557. }
  2558. else{
  2559. r7append(((T7*)a1),((T0*)ms36_138));
  2560. r7append(((T7*)a1),_sed);
  2561. r7append(((T7*)a1),((T0*)ms36_288));
  2562. }
  2563. /*FI]*/
  2564. }
  2565.  
  2566.  
  2567. T6 r36strip_executable(T36* C,T0* a1){
  2568. T6 R=0;
  2569. /*[IF*/
  2570. if((((T0*)ms36_1336))==((void*)((C)->_system_name/*0*/))){
  2571. R=1;
  2572. r7copy(((T7*)a1),((T0*)ms36_4614));
  2573. }
  2574.  else if((((T0*)ms36_654))==((void*)((C)->_system_name/*0*/))){
  2575. R=1;
  2576. r7copy(((T7*)a1),((T0*)ms36_11184));
  2577. }
  2578. /*FI]*/
  2579. return R;
  2580. }
  2581.  
  2582.  
  2583. void r36put_mark_stack_and_registers(T36* C){
  2584. T0* _architecture=NULL;
  2585. r7copy((T7*)(((T0*)ms12_583550)),(C)->_sys_directory/*4*/);
  2586. r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_410));
  2587. r28sfr_connect_or_exit((T28*)(oBC12echo),oBC12tmp_file_read,((T0*)ms12_583550));
  2588. _architecture=r28read_word_in((T28*)(oBC12echo),oBC12tmp_file_read);
  2589. r37disconnect((T37*)(oBC12tmp_file_read));
  2590. /*[IF*/
  2591. if(r7is_equal((T7*)(((T0*)ms14_1256)),_architecture)){
  2592. /*[IRF3.6append*/{T0* b1=((T0*)ms36_123066);
  2593. r7append((T7*)(oBC21explanation),b1);
  2594. }/*]*/
  2595. /*[IRF3.6append*/{T0* b1=((T0*)ms12_583550);
  2596. r7append((T7*)(oBC21explanation),b1);
  2597. }/*]*/
  2598. /*[IRF3.6append*/{T0* b1=((T0*)ms36_129800);
  2599. r7append((T7*)(oBC21explanation),b1);
  2600. }/*]*/
  2601. r21print_as_warning((T21*)(oBC12eh));
  2602. _architecture=((T0*)ms36_12915);
  2603. }
  2604. /*FI]*/
  2605. r7copy((T7*)(((T0*)ms12_583550)),(C)->_sys_directory/*4*/);
  2606. r36add_directory(C,((T0*)ms12_583550),((T0*)ms13_6678));
  2607. r7append((T7*)(((T0*)ms12_583550)),_architecture);
  2608. r28sfr_connect_or_exit((T28*)(oBC12echo),oBC12tmp_file_read,((T0*)ms12_583550));
  2609. /*[IRF3.6put_c_file*/{T0* b1=oBC12tmp_file_read;
  2610. r25put_file(b1,oBC25out_c);
  2611. }/*]*/
  2612. }
  2613. /*No:SYSTEM_TOOLS.h_suffix*/
  2614.  
  2615.  
  2616. void r36add_directory(T36* C,T0* a1,T0* a2){
  2617. /*[IF*/
  2618. if(r36slash_separator(C)){
  2619. r7set_last(((T7*)a1),'\57');
  2620. r7append(((T7*)a1),a2);
  2621. r7set_last(((T7*)a1),'\57');
  2622. }
  2623.  else if(r36backslash_separator(C)){
  2624. r7set_last(((T7*)a1),'\134');
  2625. r7append(((T7*)a1),a2);
  2626. r7set_last(((T7*)a1),'\134');
  2627. }
  2628.  else if(r36colon_separator(C)){
  2629. r7set_last(((T7*)a1),'\72');
  2630. r7append(((T7*)a1),a2);
  2631. r7set_last(((T7*)a1),'\72');
  2632. }
  2633.  else if((((T0*)ms36_756))==((void*)((C)->_system_name/*0*/))){
  2634. r7set_last(((T7*)a1),'\135');
  2635. r7remove_last(((T7*)a1),1);
  2636. r7set_last(((T7*)a1),'\56');
  2637. r7append(((T7*)a1),a2);
  2638. r7set_last(((T7*)a1),'\135');
  2639. }
  2640. /*FI]*/
  2641. }
  2642.  
  2643.  
  2644. void r36make(T36* C){
  2645. T2 _i=0;
  2646. T0* _system_se_path=NULL;
  2647. _system_se_path=r36get_environment_variable(C,((T0*)ms13_18788));
  2648. /*[IF*/
  2649. if((_system_se_path)==((void*)(NULL))){
  2650. _system_se_path=r7twin((T7*)(((T0*)ms13_18788)));
  2651. r7to_upper(((T7*)_system_se_path));
  2652. _system_se_path=r36get_environment_variable(C,_system_se_path);
  2653. /*[IF*/
  2654. if((_system_se_path)==((void*)(NULL))){
  2655. r28put_string((T28*)(oBC12echo),((T0*)ms36_226958));
  2656. _system_se_path=((T0*)ms36_132226);
  2657. r28put_string((T28*)(oBC12echo),_system_se_path);
  2658. r28put_string((T28*)(oBC12echo),((T0*)ms13_166));
  2659. }
  2660. /*FI]*/
  2661. }
  2662. /*FI]*/
  2663. /*[IF*/
  2664. if(r7has_suffix(((T7*)_system_se_path),((T0*)ms13_13428))){
  2665. r28sfr_connect((T28*)(oBC12echo),oBC12tmp_file_read,_system_se_path);
  2666. }
  2667. else{
  2668. r28put_string((T28*)(oBC12echo),((T0*)ms36_852461));
  2669. /*[IF*/
  2670. if(r7has(((T7*)_system_se_path),'\57')){
  2671. r28put_string((T28*)(oBC12echo),((T0*)ms36_26690));
  2672. r7copy((T7*)(((T0*)ms12_583550)),_system_se_path);
  2673. r7set_last((T7*)(((T0*)ms12_583550)),'\57');
  2674. r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_1071));
  2675. r7extend((T7*)(((T0*)ms12_583550)),'\57');
  2676. r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_13428));
  2677. r28sfr_connect((T28*)(oBC12echo),oBC12tmp_file_read,((T0*)ms12_583550));
  2678. }
  2679. /*FI]*/
  2680. /*[IF*/
  2681. if(!(/*(IRF4.7is_connected*/(((T37*)(oBC12tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
  2682. /*[IF*/
  2683. if(r7has(((T7*)_system_se_path),'\134')){
  2684. r28put_string((T28*)(oBC12echo),((T0*)ms36_38940));
  2685. r7copy((T7*)(((T0*)ms12_583550)),_system_se_path);
  2686. r7set_last((T7*)(((T0*)ms12_583550)),'\134');
  2687. r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_1071));
  2688. r7extend((T7*)(((T0*)ms12_583550)),'\134');
  2689. r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_13428));
  2690. r28sfr_connect((T28*)(oBC12echo),oBC12tmp_file_read,((T0*)ms12_583550));
  2691. }
  2692. /*FI]*/
  2693. }
  2694. /*FI]*/
  2695. /*[IF*/
  2696. if(!(/*(IRF4.7is_connected*/(((T37*)(oBC12tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
  2697. /*[IF*/
  2698. if(r7has(((T7*)_system_se_path),'\72')){
  2699. r28put_string((T28*)(oBC12echo),((T0*)ms36_32565));
  2700. r7copy((T7*)(((T0*)ms12_583550)),_system_se_path);
  2701. r7set_last((T7*)(((T0*)ms12_583550)),'\72');
  2702. r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_1071));
  2703. r7extend((T7*)(((T0*)ms12_583550)),'\72');
  2704. r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_13428));
  2705. r28sfr_connect((T28*)(oBC12echo),oBC12tmp_file_read,((T0*)ms12_583550));
  2706. }
  2707. /*FI]*/
  2708. }
  2709. /*FI]*/
  2710. /*[IF*/
  2711. if(!(/*(IRF4.7is_connected*/(((T37*)(oBC12tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
  2712. /*[IF*/
  2713. if(r7has(((T7*)_system_se_path),'\135')){
  2714. r28put_string((T28*)(oBC12echo),((T0*)ms36_20300));
  2715. r7copy((T7*)(((T0*)ms12_583550)),_system_se_path);
  2716. r7set_last((T7*)(((T0*)ms12_583550)),'\135');
  2717. r7remove_last((T7*)(((T0*)ms12_583550)),1);
  2718. r7extend((T7*)(((T0*)ms12_583550)),'\56');
  2719. r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_1071));
  2720. r7extend((T7*)(((T0*)ms12_583550)),'\135');
  2721. r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_13428));
  2722. r28sfr_connect((T28*)(oBC12echo),oBC12tmp_file_read,((T0*)ms12_583550));
  2723. }
  2724. /*FI]*/
  2725. }
  2726. /*FI]*/
  2727. /*[IF*/
  2728. if(!(/*(IRF4.7is_connected*/(((T37*)(oBC12tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
  2729. r28put_string((T28*)(oBC12echo),((T0*)ms36_8302));
  2730. r7copy((T7*)(((T0*)ms12_583550)),_system_se_path);
  2731. r7append((T7*)(((T0*)ms12_583550)),((T0*)ms13_13428));
  2732. r28sfr_connect((T28*)(oBC12echo),oBC12tmp_file_read,((T0*)ms12_583550));
  2733. }
  2734. /*FI]*/
  2735. }
  2736. /*FI]*/
  2737. /*[IF*/
  2738. if(!(/*(IRF4.7is_connected*/(((T37*)(oBC12tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
  2739. r28w_put_string(((T0*)ms36_720532));
  2740. exit(1);
  2741. }
  2742. /*FI]*/
  2743. r37read_line((T37*)(oBC12tmp_file_read));
  2744. C->_system_name=oBC38last_string;
  2745. _i=r39index_of((T39*)(oBC36system_list),(C)->_system_name/*0*/);
  2746. /*[IF*/
  2747. if((_i)>(((T39*)(oBC36system_list))->_upper/*8*/)){
  2748. r28w_put_string(((T0*)ms36_44196));
  2749. r28w_put_string(((T37*)(oBC12tmp_file_read))->_path/*4*/);
  2750. r28w_put_string(((T0*)ms36_23364));
  2751. _i=1;
  2752. while (!((_i)>(((T39*)(oBC36system_list))->_upper/*8*/))) {
  2753. r28w_put_string(r39item((T39*)(oBC36system_list),_i));
  2754. r28w_put_character('\n');
  2755. _i=(_i)+(1);
  2756. }
  2757. exit(1);
  2758. }
  2759. else{
  2760. C->_system_name=r39item((T39*)(oBC36system_list),_i);
  2761. r28put_string((T28*)(oBC12echo),((T0*)ms36_10175));
  2762. r28put_string((T28*)(oBC12echo),(C)->_system_name/*0*/);
  2763. r28put_string((T28*)(oBC12echo),((T0*)ms13_288));
  2764. }
  2765. /*FI]*/
  2766. C->_sys_directory=r7twin((T7*)(((T37*)(oBC12tmp_file_read))->_path/*4*/));
  2767. /*[IRF3.6remove_suffix*/{T7* C1=(T7*)((C)->_sys_directory/*4*/);
  2768. T0* b1=((T0*)ms13_13428);
  2769. r7remove_last(C1,(((T7*)b1))->_count/*4*/);
  2770. }/*]*/
  2771. r37disconnect((T37*)(oBC12tmp_file_read));
  2772. C->_bin_directory=r7twin((T7*)((C)->_sys_directory/*4*/));
  2773. r36parent_directory(C,(C)->_bin_directory/*8*/);
  2774. r36add_directory(C,(C)->_bin_directory/*8*/,((T0*)ms13_957));
  2775. }
  2776. /*No:SYSTEM_TOOLS.os2_system*/
  2777.  
  2778.  
  2779. T6 r36colon_separator(T36* C){
  2780. T6 R=0;
  2781. /*[IF*/
  2782. if((((T0*)ms36_12951))==((void*)((C)->_system_name/*0*/))){
  2783. R=1;
  2784. }
  2785.  else if((((T0*)ms36_1356))==((void*)((C)->_system_name/*0*/))){
  2786. R=1;
  2787. }
  2788. /*FI]*/
  2789. return R;
  2790. }
  2791.  
  2792.  
  2793. T6 r36slash_separator(T36* C){
  2794. T6 R=0;
  2795. /*[IF*/
  2796. if((((T0*)ms36_1336))==((void*)((C)->_system_name/*0*/))){
  2797. R=1;
  2798. }
  2799.  else if((((T0*)ms36_2470))==((void*)((C)->_system_name/*0*/))){
  2800. R=1;
  2801. }
  2802. /*FI]*/
  2803. return R;
  2804. }
  2805.  
  2806.  
  2807. T6 r36backslash_separator(T36* C){
  2808. T6 R=0;
  2809. /*[IF*/
  2810. if((((T0*)ms36_9331))==((void*)((C)->_system_name/*0*/))){
  2811. R=1;
  2812. }
  2813.  else if((((T0*)ms36_708))==((void*)((C)->_system_name/*0*/))){
  2814. R=1;
  2815. }
  2816.  else if((((T0*)ms36_654))==((void*)((C)->_system_name/*0*/))){
  2817. R=1;
  2818. }
  2819. /*FI]*/
  2820. return R;
  2821. }
  2822. /*No:SYSTEM_TOOLS.unix_system*/
  2823. /*No:SYSTEM_TOOLS.exit_failure_code*/
  2824. /*No:SYSTEM_TOOLS.fz_int*/
  2825. /*No:SYSTEM_TOOLS.macintosh_system*/
  2826. /*No:SYSTEM_TOOLS.bin_directory*/
  2827. /*No:SYSTEM_TOOLS.fz_gc*/
  2828. /*No:SYSTEM_TOOLS.tmp_path*/
  2829.  
  2830.  
  2831. void r368c_define_opening(T368* C){
  2832. T0* _t=NULL;
  2833. /*[IF*/
  2834. /*AF*//*AE*/
  2835. /*FI]*/
  2836. /*[IF*/
  2837. /*AF*/if(((C)->_result_type/*40*/)!=((void*)(NULL))){
  2838. _t=X54run_type((C)->_result_type/*40*/);
  2839. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms51_3077376)))))->_count)=(0);
  2840. /*]*/
  2841. X54c_type_for_result_in(_t,((T0*)ms51_3077376));
  2842. r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms51_543));
  2843. X54c_initialize_in(_t,((T0*)ms51_3077376));
  2844. r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms13_144));
  2845. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_3077376));
  2846. /*]*/
  2847. /*[IF*/
  2848. if(r43no_check((T43*)(oBC12run_control))){
  2849. r7append((T7*)(oBC12c_frame_descriptor_locals),((T0*)ms51_10703));
  2850. r204increment((T204*)(oBC12c_frame_descriptor_local_count));
  2851. r7append((T7*)(oBC12c_frame_descriptor_format),((T0*)ms14_7404));
  2852. X54c_frame_descriptor(_t);
  2853. }
  2854. /*FI]*/
  2855. }
  2856. /*FI]*/
  2857. /*[IF*/
  2858. /*AF*//*AE*/
  2859. /*FI]*/
  2860. /*[IF*/
  2861. if(r43ensure_check((T43*)(oBC12run_control))){
  2862. /*[IF*/
  2863. if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
  2864. r215c_declare_for_old((T215*)((C)->_ensure_assertion/*24*/));
  2865. }
  2866. /*FI]*/
  2867. }
  2868. /*FI]*/
  2869. /*[IF*/
  2870. if(r43no_check((T43*)(oBC12run_control))){
  2871. /*[IF*/
  2872. if((((T204*)(oBC12c_frame_descriptor_local_count))->_value/*0*/)>(0)){
  2873. r7copy((T7*)(((T0*)ms51_3077376)),((T0*)ms51_21762));
  2874. /*[IRF3.5append_in*/r2append_in(((T2)(((T204*)(oBC12c_frame_descriptor_local_count))->_value/*0*/)),((T0*)ms51_3077376));
  2875. /*]*/
  2876. r7extend((T7*)(((T0*)ms51_3077376)),'\135');
  2877. r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms13_144));
  2878. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_3077376));
  2879. /*]*/
  2880. }
  2881. /*FI]*/
  2882. r368c_initialize_ds_one_by_one(C);
  2883. /*[IRF3.2c_initialize_locals_one_by_one*/{T3 _c=0;
  2884. T2 _j=0;
  2885. T2 _i=0;
  2886. _j=1;
  2887. while (!((((T204*)(oBC12c_frame_descriptor_local_count))->_value/*0*/)==(_i))) {
  2888. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_8225));
  2889. /*]*/
  2890. /*[IRF3.5put_integer*/r45put_integer(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),_i);
  2891. /*]*/
  2892. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_314));
  2893. /*]*/
  2894. _c=/*(IRF4.6item*/(((T7*)(oBC12c_frame_descriptor_locals))->_storage/*0*/)[(_j)-(1)]/*)*/;
  2895. while (!((_c)==('\54'))) {
  2896. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2897. T3 b1=_c;
  2898. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2899. }/*]*/
  2900. /*]*/
  2901. _j=(_j)+(1);
  2902. _c=/*(IRF4.6item*/(((T7*)(oBC12c_frame_descriptor_locals))->_storage/*0*/)[(_j)-(1)]/*)*/;
  2903. }
  2904. _j=(_j)+(1);
  2905. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_144));
  2906. /*]*/
  2907. _i=(_i)+(1);
  2908. }
  2909. }/*]*/
  2910. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_14820a));
  2911. /*]*/
  2912. }
  2913. /*FI]*/
  2914. /*[IF*/
  2915. if(r43ensure_check((T43*)(oBC12run_control))){
  2916. /*[IF*/
  2917. if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
  2918. r215compile_to_c_old((T215*)((C)->_ensure_assertion/*24*/));
  2919. }
  2920. /*FI]*/
  2921. }
  2922. /*FI]*/
  2923. /*[IF*/
  2924. /*AF*//*AE*/
  2925. /*FI]*/
  2926. /*[IF*/
  2927. /*AF*//*AE*/
  2928. /*FI]*/
  2929. /*[IF*/
  2930. /*AF*//*AE*/
  2931. /*FI]*/
  2932. /*[IF*/
  2933. if(((C)->_require_assertion/*20*/)!=((void*)(NULL))){
  2934. r357compile_to_c((T357*)((C)->_require_assertion/*20*/));
  2935. }
  2936. /*FI]*/
  2937. /*[IF*/
  2938. /*AF*//*AE*/
  2939. /*FI]*/
  2940. }
  2941.  
  2942.  
  2943. void r368c_define_closing(T368* C){
  2944. /*[IF*/
  2945. if(r43ensure_check((T43*)(oBC12run_control))){
  2946. /*[IF*/
  2947. if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
  2948. r215compile_to_c((T215*)((C)->_ensure_assertion/*24*/));
  2949. }
  2950. /*FI]*/
  2951. }
  2952. /*FI]*/
  2953. /*[IF*/
  2954. if(r368use_current(C)){
  2955. r25current_class_invariant((C)->_current_type/*4*/);
  2956. }
  2957. /*FI]*/
  2958. /*[IF*/
  2959. /*AF*//*AE*/
  2960. /*FI]*/
  2961. /*[IF*/
  2962. if(r43no_check((T43*)(oBC12run_control))){
  2963. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_19775));
  2964. /*]*/
  2965. }
  2966. /*FI]*/
  2967. }
  2968.  
  2969.  
  2970. void r368c_assertion_flag(T368* C){
  2971. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms51_3077376)))))->_count)=(0);
  2972. /*]*/
  2973. r368c_frame_descriptor_name_in(C,((T0*)ms51_3077376));
  2974. r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms51_30510));
  2975. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_3077376));
  2976. /*]*/
  2977. }
  2978. /*No:RUN_FEATURE_9.use_current_state*/
  2979.  
  2980.  
  2981. void r368default_mapping_procedure(T368* C){
  2982. r368default_mapping_function(C);
  2983. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_144));
  2984. /*]*/
  2985. }
  2986. /*No:RUN_FEATURE_9.fz_void*/
  2987.  
  2988.